diff --git a/advanced/configuring_routers.html b/advanced/configuring_routers.html index a7b6795d..7a0bd267 100644 --- a/advanced/configuring_routers.html +++ b/advanced/configuring_routers.html @@ -682,7 +682,7 @@ diff --git a/advanced/dev_workflow.html b/advanced/dev_workflow.html index a2e94913..3eee72b5 100644 --- a/advanced/dev_workflow.html +++ b/advanced/dev_workflow.html @@ -741,7 +741,7 @@ diff --git a/advanced/different_routers.html b/advanced/different_routers.html index bf6cf620..a2015017 100644 --- a/advanced/different_routers.html +++ b/advanced/different_routers.html @@ -685,7 +685,7 @@ diff --git a/advanced/index.html b/advanced/index.html index c0669607..374547fa 100644 --- a/advanced/index.html +++ b/advanced/index.html @@ -636,7 +636,7 @@ diff --git a/advanced/route_validation.html b/advanced/route_validation.html index 69099595..abd3806b 100644 --- a/advanced/route_validation.html +++ b/advanced/route_validation.html @@ -777,7 +777,7 @@ diff --git a/basics/index.html b/basics/index.html index 684c4eaa..76a64b65 100644 --- a/basics/index.html +++ b/basics/index.html @@ -640,7 +640,7 @@ diff --git a/basics/name_based_routing.html b/basics/name_based_routing.html index d22dc335..7516e4d0 100644 --- a/basics/name_based_routing.html +++ b/basics/name_based_routing.html @@ -688,7 +688,7 @@ diff --git a/basics/path_based_routing.html b/basics/path_based_routing.html index 07fec4ac..48b4b039 100644 --- a/basics/path_based_routing.html +++ b/basics/path_based_routing.html @@ -658,7 +658,7 @@ diff --git a/basics/route_conflicts.html b/basics/route_conflicts.html index 2ce98805..db1635be 100644 --- a/basics/route_conflicts.html +++ b/basics/route_conflicts.html @@ -675,7 +675,7 @@ diff --git a/basics/route_data.html b/basics/route_data.html index 302e329a..45ef07c3 100644 --- a/basics/route_data.html +++ b/basics/route_data.html @@ -699,7 +699,7 @@ diff --git a/basics/route_data_validation.html b/basics/route_data_validation.html index 6aeacdee..c67600cc 100644 --- a/basics/route_data_validation.html +++ b/basics/route_data_validation.html @@ -751,7 +751,7 @@ diff --git a/basics/route_syntax.html b/basics/route_syntax.html index 21a5bfc2..28171be2 100644 --- a/basics/route_syntax.html +++ b/basics/route_syntax.html @@ -685,7 +685,7 @@ diff --git a/basics/router.html b/basics/router.html index aba221e1..1acfe711 100644 --- a/basics/router.html +++ b/basics/router.html @@ -668,7 +668,7 @@ diff --git a/coercion/clojure_spec_coercion.html b/coercion/clojure_spec_coercion.html index cd545486..d365a7f2 100644 --- a/coercion/clojure_spec_coercion.html +++ b/coercion/clojure_spec_coercion.html @@ -670,7 +670,7 @@ diff --git a/coercion/coercion.html b/coercion/coercion.html index 5304cc7e..4d7efcc2 100644 --- a/coercion/coercion.html +++ b/coercion/coercion.html @@ -765,7 +765,7 @@ diff --git a/coercion/data_spec_coercion.html b/coercion/data_spec_coercion.html index 2cb6d8b1..cb63cb75 100644 --- a/coercion/data_spec_coercion.html +++ b/coercion/data_spec_coercion.html @@ -664,7 +664,7 @@ diff --git a/coercion/index.html b/coercion/index.html index a65f88ab..8167a5cc 100644 --- a/coercion/index.html +++ b/coercion/index.html @@ -637,7 +637,7 @@ diff --git a/coercion/schema_coercion.html b/coercion/schema_coercion.html index 3cf9886a..4544ac3e 100644 --- a/coercion/schema_coercion.html +++ b/coercion/schema_coercion.html @@ -665,7 +665,7 @@ diff --git a/development.html b/development.html index d4a1d75e..635d6310 100644 --- a/development.html +++ b/development.html @@ -655,7 +655,7 @@ lein test diff --git a/faq.html b/faq.html index e9f021c9..07472985 100644 --- a/faq.html +++ b/faq.html @@ -733,7 +733,7 @@ diff --git a/index.html b/index.html index 63c6f52d..fccf70db 100644 --- a/index.html +++ b/index.html @@ -607,15 +607,15 @@
reitit-swagger-ui Integrated Swagger UI.To use Reitit, add the following dependecy to your project:
-[metosin/reitit "0.1.1"]
+[metosin/reitit "0.1.2"]
Optionally, the parts can be required separately:
-[metosin/reitit-core "0.1.1"]
-[metosin/reitit-ring "0.1.1"]
-[metosin/reitit-spec "0.1.1"]
-[metosin/reitit-schema "0.1.1"]
-[metosin/reitit-swagger "0.1.1"]
-[metosin/reitit-swagger-ui "0.1.1"]
+[metosin/reitit-core "0.1.2"]
+[metosin/reitit-ring "0.1.2"]
+[metosin/reitit-spec "0.1.2"]
+[metosin/reitit-schema "0.1.2"]
+[metosin/reitit-swagger "0.1.2"]
+[metosin/reitit-swagger-ui "0.1.2"]
For discussions, there is a #reitit channel in Clojurians slack.
Examples
@@ -752,7 +752,7 @@
diff --git a/interceptors.html b/interceptors.html
index 7a5309b1..55004137 100644
--- a/interceptors.html
+++ b/interceptors.html
@@ -686,7 +686,7 @@
diff --git a/performance.html b/performance.html
index facaeba2..25e57027 100644
--- a/performance.html
+++ b/performance.html
@@ -711,7 +711,7 @@
diff --git a/ring/coercion.html b/ring/coercion.html
index 628a6962..6a814672 100644
--- a/ring/coercion.html
+++ b/ring/coercion.html
@@ -766,7 +766,7 @@
diff --git a/ring/compiling_middleware.html b/ring/compiling_middleware.html
index 60d38f67..bab4b60d 100644
--- a/ring/compiling_middleware.html
+++ b/ring/compiling_middleware.html
@@ -693,7 +693,7 @@
diff --git a/ring/data_driven_middleware.html b/ring/data_driven_middleware.html
index df349c01..41bca6bb 100644
--- a/ring/data_driven_middleware.html
+++ b/ring/data_driven_middleware.html
@@ -752,7 +752,7 @@
diff --git a/ring/default_handler.html b/ring/default_handler.html
index 0b17babc..db26d12a 100644
--- a/ring/default_handler.html
+++ b/ring/default_handler.html
@@ -699,7 +699,7 @@
diff --git a/ring/dynamic_extensions.html b/ring/dynamic_extensions.html
index d5053f86..98499e92 100644
--- a/ring/dynamic_extensions.html
+++ b/ring/dynamic_extensions.html
@@ -668,7 +668,7 @@
diff --git a/ring/index.html b/ring/index.html
index feebf723..8bbca30b 100644
--- a/ring/index.html
+++ b/ring/index.html
@@ -642,7 +642,7 @@
diff --git a/ring/ring.html b/ring/ring.html
index a970c42b..f6a814e2 100644
--- a/ring/ring.html
+++ b/ring/ring.html
@@ -589,7 +589,7 @@
Ring Router
Ring 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.
-[metosin/reitit-ring "0.1.1"]
+[metosin/reitit-ring "0.1.2"]
Ring-router adds support for handlers, middleware and routing based on :request-method. Ring-router is created with reitit.ring/router function. It uses a custom route compiler, creating a optimized data structure for handling route matches, with compiled middleware chain & handlers for all request methods. It also ensures that all routes have a :handler defined. reitit.ring/ring-handler is used to create a Ring handler out of ring-router.
Example
@@ -722,7 +722,7 @@
diff --git a/ring/route_data_validation.html b/ring/route_data_validation.html
index bb9d4cbb..73fd6ef0 100644
--- a/ring/route_data_validation.html
+++ b/ring/route_data_validation.html
@@ -876,7 +876,7 @@
diff --git a/ring/static.html b/ring/static.html
index b298bb09..79fe3507 100644
--- a/ring/static.html
+++ b/ring/static.html
@@ -700,7 +700,7 @@
diff --git a/ring/swagger.html b/ring/swagger.html
index 35dfa173..9f35d5e8 100644
--- a/ring/swagger.html
+++ b/ring/swagger.html
@@ -588,7 +588,7 @@
Swagger Support
-[metosin/reitit-swagger "0.1.1"]
+[metosin/reitit-swagger "0.1.2"]
Reitit 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.
To enable swagger-documentation for a ring-router:
@@ -653,7 +653,7 @@
If you need to post-process the generated spec, just wrap the handler with a custom Middleware or an Interceptor.
Swagger-ui
Swagger-ui is a user interface to visualize and interact with the Swagger spesification. To make things easy, there is a pre-integrated version of the swagger-ui as a separate module.
-[metosin/reitit-swagger-ui "0.1.1"]
+[metosin/reitit-swagger-ui "0.1.2"]
reitit.swagger-ui/create-swagger-ui-hander can be used to create a ring-handler to serve the swagger-ui. It accepts the following options:
@@ -896,7 +896,7 @@
diff --git a/search_index.json b/search_index.json
index f996314e..665cbcc7 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.1.1\"]","\"1\"}","\"ok\",","\"ok\"})","#match{:templ","#methods{...}","#object[user$handler]}","#partialmatch{:templ","#reitit","#{:id}}","&","'())","'[reitit.cor","'[reitit.r","(","(:api","(app","(clojure.spec),","(def","(defn","(fn","(fnil","(handler","(r/match","(r/partial","(r/router","(requir","(ring/get","(ring/r","(ring/rout","(schema","(updat","200,","2})","2},","::ipa)","::order","::ping)","::ping))","::ping]","::ping}","::ping}]",":a",":admin]]}",":admin}",":api]]",":api]]}",":bodi",":data",":get",":get,",":handler",":middlewar",":name",":path",":post",":put,",":request",":requir",":result",":uri",":user/ord",":wrap",";",">","[\"/admin\"","[\"/api\"","[\"/api/orders/:id\"","[\"/ping\"","[\"/users\"","[[\"/api/ping\"","[[#object[user$wrap]","[[wrap","[_]","[handler","[metosin/reitit","[request]","add","apidoc","app","base","bi","channel","class","clojure(script).","clojure.spec","clojure.spec)","clojurian","coercion","compilation,","conflict","conj","core","data","dependeci","direct","discussions,","driven","dynam","exampl","extend","extens","fast","first","follow","functions,","handler","handler}]]])))","id","id)","id))","id)))","id]","id]]))","id}","id},","integr","introduct","match?","method","method.","middlewar","middleware,","modular","modules:","more.","name","nil","nil,","optionally,","param","paramet","part","path","pluggabl","project:","r])","reitit","reitit,","request)","requir","resolut","revers","ring","ring])","rout","router","router)","routing:","schema","separately:","simpl","slack.","spec","support","swagger","swagger2","syntax","true","ui","ui.","us","wrap","{:get","{:handler","{:id","{:middlewar","{:name","{:request","{:statu","{}"],"basics/":["base","basic","conflict","data","name","path","rout","router","syntax","valid"],"basics/route_syntax.html":["\"/\"","'add","'get","(*path).","(:id)","([\"/get","(condp","(cqr","(defn","(for","(name","(non","(str","::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","argument","arguments:","catch","child","cqr","creat","data,","defin","easi","exampl","flattened:","gener","id\"]","ignored.","interceptor))","interceptor]","it'","list","method","nest","nil","option","order\"","order]])","order]}}])]","paramet","parameter:","parameters:","path","programmatically:","rout","route:","routes.","routes:","same","sequential)","simpl","string","syntax","two","type","user\"","user]","user]}}]","vector","wrap","{: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/:id\"","\"/api/user/:id\",","\"1\"})","\"1\"}}","#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},",";","[\"/api\"","[\"/ping\"","[\"/user/:id\"","[:user/p","automat","base","booleans,","coerc","data","defined,","except","exceptioninfo","given","help","internal)","keyword","list","match","match?","miss","name","name!","name.","names:","nil","nil,","nil:","numbers,","objects:","param","paramet","parameters:","partialmatch","path","protocol","provid","r])","reitit.impl/intostring.","return","returned:","rout","route:","router","router)","router:","set,","strings,","support","throw","true","version:","{:id","{: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:","attacht","avail","back","behavior","both","case","client","clojure.spec","colect","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","interpet","it'","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":["'[reitit.cor","(comp","(def","(r/router","(requir","/:user","/:version/statu","/bulk/:bulk","/public/*path",":a",":conflict",";",">","[\"/:user","[\"/:version/status\"]])","[\"/bulk/:bulk","[\"/public/*path\"]","[[\"/ping\"]","allow","callback.","clojure.lang.exceptioninfo:","compilerexcept","conflicit","conflict","conflicts:","contain","created.","default","default,","descript","effec","especi","ex","exampl","exceptioninfo","explicit","first","good,","id","id\"]","id/ord","id/orders\"]","implement","info","librari","log","lookup,","make","match","merg","message.","multipl","pass","path","println","r])","reitit","reitit/conflict","resolut","resolv","rest","rout","router","router.","routes)","routes:","run","sources.","str)})","throw","thrown:","tree","unreachable.","us","within","{:conflict"],"coercion/":["clojure.spec","coercion","data","explain","plumat","schema","spec"],"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\"},","\"metosin\",","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[clojure.spec.alpha","'[reitit.coercion","'[reitit.coercion.spec])","'[reitit.cor","'[spec","(assoc","(coercion/coerce!","(def","(defn","(if","(match","(r/match","(r/router","(requir","(s/def","(s/key","123}}","::compani","::path","::user",":a",":coercion",":data",":paramet",":path",":req",":result",":user",":user/us",";",";;","=>",">","[\"/:company/users/:us","[::compani","[match","[path]","base","clojure.spec","coerce!","coercers}))","coercion","coercion/compil","coercion:","coercion])","conforming,","currently,","data","data,","destructur","doesn't","exceptioninfo","fail","failed...","gener","id","id\"","id\",","id]))","it,","librari","match","match))))","need","note:","on","param","params}},","params}}]","path","path)]","primitives!","r])","record","reitit.coercion.spec/coercion","request","router","runtim","s])","spec","spec.","spec/int?)","spec/string?)","spec])","specifi","structur","success","support","tools.spec","transform","un","valid","via","view","view,","working.","wrap","{:compani","{:compil","{:name","{:path"],"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"],"advanced/":["advanc","configur","differ","rout","router","valid"],"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/different_routers.html":["'[reitit.cor","(def","(r/router","(requir","::ping]","::users]]","::users]]))",":a",":linear",":lookup",":mix",":router",":segment",":singl",";","[\"/api/:users\"","[[\"/ping\"","ask","base","catch","configur","conflicts.","contain","creat","descript","differ","expand","fast","faster","found.","function","hash","implement","implementation.","implementation:","inspect","lookup","manual","match","much","name","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","{},"],"ring/":["coercion","compil","data","default","driven","dynam","extens","handler","middlewar","pluggabl","resourc","ring","rout","router","static","support","swagger","valid"],"ring/ring.html":["\"/api/admin/db\"})","\"/api/ping\"})","\"/favicon.ico\"})","\"/ping\"","\"/ping\"})","\"0.1.1\"]","\"ok\"}","\"ok\"})","#endpoint{:data","#methods{:ani","#object[...],","#object[...]}","#object[...]},","%","&","'[reitit.r","(","(app","(conj","(def","(defn","(fn","(fnil","(handler","(reitit/match","(reitit/routes))","(requir","(ring/get","(ring/r","(ring/rout","(updat","2","200,","3","::acc","::ping","::ping)",":a",":admin",":admin]]}",":api)]}",":bodi",":db",":db]]",":delet",":delete,",":delete]]",":get",":get,",":handler",":handler)})",":handler]}",":head,",":middlewar",":options,",":patch,",":path)",":post",":put,",":put.",":request",":uri",";",";;",">","?arg","[\"/admin\"","[\"/api\"","[\"/db\"","[\"/ping\"","[#(wrap","[::acc]}]","[:api","[[\"/ping\"","[[wrap","[])","[]}}]]","[_]","[handler","[metosin/reitit","[request]","[{:key","abstract","acc","ad","add","allow","api,","app","app:","appli","applic","applications,","args.","ariti","async","base","both","built","chain","clojur","clojurescript,","compil","compiler,","compon","conj","construct","correctly:","creat","custom","data","defined.","detail","element","ensur","exampl","expand","following:","found.","frameworks.","function","function.","handl","handler","handler:","handler]","handler])))","handlers,","handler}])))","handler}}]]])))","http","id))))","id]","inspir","it'","key,","keys:","level","librari","look","matches,","method","method.","methods.","middlewar","middleware:","modular","name","nest","nil","node.j","normal","note","optim","optin","out","provid","python'","rack.","reitit.ring/r","reitit.ring/rout","request","respons","results:","resut","revers","ring","ring])","rout","router","router)","router.","routing:","ruby'","servers,","share","show","simpl","simple,","structur","submap.","support","third","too.","top","under","unifi","us","valu","varieti","vector","vector.","web","work","wrap","wsgi","{:handler","{:middlewar","{:name","{:request","{:statu"],"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/static.html":["\"/\"})","\"/*\",","\"/assets/*\".","\"pong\"})]","\"pong\"})])","\"public\"","'[reitit.r","(clojur","(constantli","(requir","(ring/creat","(ring/r","(ring/rout","200,",":",":a",":bodi",":cache,",":etag,",":gzip",":index",":last",":loader",":paramet",":path",":root","[\"/*\"","[\"/assets/*\"","[\"/ping\"","[\"index.html\"]","[[\"/ping\"","actual","be","better","class","classpath.","clojurescript","compos","configur","conflict","default","descript","directory,","disabl","e.g.","extern","file","files.","good","handler","handler))","handler)))","handler)]]","handler)]])","handler.","index","intern","key","keyword","loader","locat","look","map","matched.","modified?,","mount","multipl","name","need","nil)})","non","none","on","only)","option","outsid","parameter,","path","paths,","reitit.ring/cr","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","(and","(app","(constantli","(def","(defn","(effect","(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","#(interleav","#{:session}","#{:user}","%","&","'[reitit.middlewar","'[reitit.r","(actually,","(app","(conj","(def","(defn","(duct/integrant/macchiato","(fn","(fnil","(handler","(middleware/cr","(of","(optimized)","(optional)","(repeat","(requir","(ring/r","(ring/rout","(updat","1","1]","2","200,","2]]}","3","3]]","::acc","::wrap2","::wrap3",":a",":bodi",":compil",":debug",":debug]))})))",":descript",":get,",":handler",":handler)})",":handler]}",":middlewar",":name",":provides.",":reitit.middleware/transform",":requir",":spec",":uri",":wrap",";","=>","[\"/api\"","[\"/ping\"","[1","[3","[::acc]}]","[[wrap","[[wrap3","[])","[handler","[request]","[wrap","[wrap2","[{:key","acc","access","actual","ad","against","againt","allowed.","api","app","appli","arbitrari","arg","authorizationmiddlewar","avail","between","chain","chain,","class","clojure.spec","commun","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","endpoint.","entri","etc.","expand","expans","extern","extra","first","follow","form","function","function,","function.","functions,","futur","good","handler","handler}}]]","handler}}]])))","hard.","id))))","id]","idea","ident","injectuserintorequestmiddlewar","inventories,","issu","it'","key","keys,","keyword","level","make","map","merg","method","middlewar","middleware)","middleware,","middleware.","middleware])","mount","name","new","normal","opaqu","optim","option","order.","packag","penalty.","per","performance.","processing,","produc","protocol.","provid","purpose:","qualifi","raw","re","record","registri","rehost","reitit","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","rel","repo","request","request.","requir","resolut","respons","response.","results,","return","revers","reverse)})))","ring","ring])","rout","router","router):","router.","runtim","see","set","special","stuff?","style","style)","support","thing","things.\"","thu","top","transform","type","undelay","understand","unwrap","us","valid","valu","vector","welcom","wrap","wrap2","wrap3","wrap})","wrap}))","wrong","yield","zero","{::middleware/transform","{:get","{:middlewar","{:name","{:request","{:statu"],"ring/coercion.html":["\"(constrain","\"(not","\"/api/ping\"})","\"/api/plus/3\"","\"1\"}","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"int\",","\"pong\"}","\"pong\"})}]","'[reitit.coercion.schema])","'[reitit.cor","'[reitit.r","'[reitit.ring.coercion","'[schema.cor","'positiveint))","(","(+","(:query,","(app","(def","(fn","(integer?","(let","(mapv","(positiveint","(r/match","(requir","(ring/get","(ring/r","(ring/rout","(s/constrain","10}})","200","200,","2}})","400,","500,","6))\"},","6},","6}}","::mw/coerc","::ping","::ping)","::plu","::plus)",":a",":bodi",":body,",":body.",":body]}}",":coercion",":error",":form,",":get",":get,",":handler",":header",":in",":middlewar",":name)))",":paramet",":path",":path)",":post",":queri",":query,",":reitit.coercion/request",":reitit.coercion/respons",":respons",":responses.",":result",":schema,",":type",":uri",":valu",":x)",":y)",":z))]",";",">",">>","[\"/api\"","[\"/ping\"","[\"/plus/:z\"","[::mw/coerc","[:request","[:respons","[]","[_]","[parameters]}]","[rrc/coerc","[total","[{:key","\\\"abba\\\"))\"},","access","actual","againt","also,","and/or","anything,","app","app)","appli","apply.","attach","basic","below","both","chain","clojure.spec","code","coerc","coerced.","coercer","coercion","coercion,","coercion.","compil","construct","data","data.","defin","defined,","defined.","defined:","detail","doesn't","done:","enabl","endpoint","exampl","except","explain","follow","full","guide.","handler","handler/middlewar","here'","implement","input","int","invalid","inventoried.","it'","itself","key","key.","method","middlewar","middleware:","middleware]}})))","models.","modules:","mount","multipl","name","need","normal","optim","param","paramet","params]}}","plu","pluggabl","plumat","pos?","positiveint","positiveint)\"},","positiveint}}}","pretti","protocol","queri","r])","read","reitit","reitit,","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coercion","reitit.ring.coercion:","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])","schema","schema.","schema:","scope","ship","singl","spec","step","success","thing","total}}))})","total}}))}}]]","transform","type","under","us","valid","within","without","{\"x\"","{200","{:bodi","{:coercion","{:data","{:i","{:middlewar","{:name","{:queri","{:request","{:schema","{:statu","{:total","{: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/pong\"","\"/api/swagger.json\"","\"/api/swagger.json\"})","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"0.1.1\"]","\"2.0\"","\"application/edn\"","\"application/transit+json\"}","\"application/transit+json\"}}}})","\"mi","\"ping\")}]","\"ping\")}])","\"plu","\"pong\")}]]","\"server","\"swagger","#'app","#{\"application/json\"","#{::one","#{:user/api}","&","'[muuntaja.middleware]))","'[reitit.coercion.schema","'[reitit.coercion.spec","'[reitit.r","'[reitit.ring.coercion","'[reitit.swagg","'[ring.adapter.jetti","'[ring.middleware.params]","'[schema.cor","(","(\"/common/ping\"","(+","(:tags,","(app","(constantli","(def","(defn","(fn","(jetty/run","(keyword","(println","(requir","(ring/creat","(ring/r","(ring/rout","(swagger","(swagger/cr","...","/examples/r","/swagger.json","2","200","3","3000\"))","3000,","4",":","::api","::api}}})","::math}}","::one","::one}}","::two","::two}}","::two}}}",":a",":bodi",":config",":consum",":consumes)",":descript",":get",":get,",":handler",":id",":id]",":join?",":no",":paramet",":parameters}]",":path",":produc",":produces,",":query}",":refer",":respons",":root",":summari",":swagger",":tag",":uri",":url",":x",":y",";",";;",";{:statu",">","[\"/api\"","[\"/deep\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/plus\"","[\"/pong\"","[\"/schema\"","[\"/spec\"","[\"/swagger.json\"","[\"/two\"","[\"schema\"]}}","[\"spec\"]}}","[:swagger","[[\"/api\"","[[\"/common\"","[]","[int]]","[metosin/reitit","[ring.middleware.params/wrap","[x","[{{{:key","accept","act","actual","advanc","annot","api","api\"}}","apis.","app","application.","apply.","argument","bodi","boolean","both","camelcase.","captur","classpath.","clojur","clojure.","clojure.spec","clojurescript","coercion","collect","complet","configur","contribut","correctli","creat","currently,","custom","data","data,","data.","default","defin","definitions,","descript","doc","docs:","document","documentation,","driven","easili","easy,","enabl","encod","endpoint","endpoint,","endpoint.","exampl","except","exclud","extract","false})","featur","feature,","file","follow","format","formatter.","gener","hander","handl","handler","handler))))","handler)}}]","handler)}}])","handler)}}]]","handler.","host","http://localhost:3000","http://spec.commonmark.org/","id","identifi","index","input","int,","int?,","int?}}","int?}}}","integr","interact","interceptor","interceptor.","interfac","int}}","int}}}","it'","jetti","jetty]","key","keys)","keys.","keyword","keywords)","keywords.","long","macchiato","make","map","method","middlewar","middleware]","miss","modul","module.","more","mount","multipl","muuntaja","muuntaja.middleware/wrap","name","need","new","normal","note:","now","on","on.","option","options:","outsid","page,","param","paramet","parameter,","part","particip","pass","path","ping","port","post","pr!","pre","process","project","queri","reitit","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:","rrc/coerc","rrc]","rule","run","same","schema","schema\"","schema/coercion","schema]","scope","see","separ","sequenc","serv","server","set","short","simpl","singl","spec","spec\"","spec,","spec/coercion","spec:","spec]","specification,","specification:","spesif","spesification.","start","store","string","summari","support","swagger","swagger.","swagger/swagg","swagger2","swagger]","swagger])","swaggger","tag","take","thank","thing","time","to.","todo","tool","tools.","transform","true","turn","two","two\"","two/swagger.json\"}","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","unnam","us","user","valid","version","via","visual","web","webjar","welcom","whole","wildcard","with:","work","wrap","x","y)}})}}]]","y)}})}}]]]","y]}","{\"/api/ping\"","{200","{:bodi","{:coercion","{:data","{:get","{:id","{:info","{:middlewar","{:no","{:path","{:port","{:post","{:produc","{:queri","{:request","{:statu","{:summari","{:swagger","{:tag","{:titl","{:total","{:x","{}}","{}}}}}"],"performance.html":["\"/auth/login\")))","\"/workspace/1/1\")))","&","'[criterium.cor","'[reitit.cor","(30x","(ataraxy,","(cc/quick","(def","(dotim","(if","(matches,","(micro","(or","(per","(r/match","(r/router","(real","(requir","(static","(wildcard",")benchmark","/api/command/add","1","1.9m","100","1000)","1000):","1000]","16","2,5","24x","256","3.2","300","312m","4","50+","500x","530","6",":",":a",":auth/login]",":auth/recovery]",":lookup",":mix",":request",":segment",":workspace/page]]))",";;","=>",">","[\"/auth/recovery/token/:token\"","[\"/workspace/:project/:page\"","[[\"/auth/login\"","[_","`lein","abstract","accur","actual","against.","algorithm,","algorithms,","also,","alway","anoth","api","ataraxi","average,","awesom","base","baselin","bench","benchmark.","best","better","better,","between","bide","bidi,","both","box","busi","but,","cach","cache:","card","case,","case.","cc])","chosen","ci","code","compil","compojur","comput","conflict","contain","core","core):","cores:","cqr","created,","creation","data.","definit","definitions.","degrade.","depends.","differ","disabl","do","don't","e.g.","effect","enabl","ensur","environment.","error.","errors.","even","exampl","execut","fail","fallback","fast","fast.","faster","fastest","featur","few","first","flatten","follow","found","found,","function","gb","ghz","go","go.","great","handl","handler.","have","help","here.","http","i7","idea","identifier:","immut","implementation.","indic","infinit","inlin","intel","interceptor)","interceptors,","intern","invok","it'","jvm","kb","know.","l2","l3","larg","large!","lib","librari","libs.","life","life)","life,","long","look","lookup","lot","lot.","lupapiste.","macbook","macbookpro11,3","magnitud","magnitude.","manag","map","match","matter","matter?","mb","mean","measur","measure?","memory:","method","mid","middlewar","middleware,","mix","model","more","mostli","mount","move","much","multimethod","multipl","mutabl","name:","need","new","nice","non","not.","notabl","note:","nothing.","ns","number","ok","on","opensensor","ops/sec","optim","order","order.","origin","out","over","parameters.","path","path)","path.","pedest","pedestal).","pedestal,","perf","perform","performance,","performance.","performance:","pleas","poke","port","possibl","precompute/compil","prefix","present.","pro","process","processor","processors:","proof","protocol","pull","quick","r])","rational","re","readme:","real","realistic.","realli","really,","record","regress","reitit","repl","repl`","repo","request","resolut","rest","rest(ish)","result","rewritten","ring","rout","router","router,","router.","router:","routers.","routes)","routes,","run","same","sampl","scenario","scientif","second","segment","separ","serv","setup:","shine","simpl","site","size","slower","slowest","small","snappi","so,","someth","speed:","stabl","start","static","static,","still","style","swagger","tabl","take","taken","test","test).","test,","tests,","thank","thing","three","time","time,","tip","total","tree","tree,","tree.","trees,","tri","true).","trust","two","unmount","us","usual","view","want","welcome!","well,","wild","wildcard","work","µs","µs."],"interceptors.html":["\"","\"forbidden\"})","\"interceptor","\"pong\"})}]","\"requir","#{:admin}","#{keyword?}}","#{keyword}}}","&","'[clojure.set","'[reitit.coercion.spec])","'[reitit.http","'[reitit.http.coercion","(","(+","(assoc","(constantli","(def","(fn","(http/http","(http/router","(if","(includ","(let","(not","(requir","(seq","(set/subset?","(str","(wip)","(with","200","403","403,","::auth","::ping","::plu",":a",":bodi",":compil",":context",":enter",":get",":handler",":interceptor",":path",":post",":queri",":respons",":role",":roles]`",":roles}",":spec",":user",":x)",":y)",":z))]",">","[\"/api\"","[\"/ping\"","[\"/plus/:z\"","[auth","[parameters]}]","[rhc/coerc","[roles]}","[total","[{:key","[{{user","_]","`:roles`","`[:user","altern","app","auth","chains.","cljs)","compilations.","compos","context","ctx","ctx))}))})(requir","ctx}]","current","currently,","data","data.","defined,","definitions,","doesn't","draft","e.g.","enchanc","errors,","etc.","exampl","except","expect","featur","figur","final","full","handler","http","http])","int?}","int?}}","int?}}}","interceptor","interceptor]}","interceptor]}})))","interpret","itself","key","keyword","make","manag","map","modul","mount","namespac","op.\"","otherwis","out","package.","paramet","pedest","plan","po","portabl","queue","reitit","reitit.coercion.spec/coercion","reitit.interceptor","request","respond","respons","rhc/coerc","rhc])","ring","role","roles)","roles))","roles.","rout","same","separ","set","set])","shipped,","spec","specs):","stay","style","support","todo","total}}))}}]]","truli","tuned.","user","via","way","{200","{:bodi","{:coercion","{:data","{:descript","{:i","{:interceptor","{:name","{:paramet","{:queri","{:role","{:statu","{:total","{:user","{:x","{:z"],"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":33},"tokenStore":{"root":{"0":{"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":{}}},"1":{"0":{"0":{"0":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"2":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},"docs":{}},"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"}":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}},".":{"9":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{}}},"2":{"0":{"0":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},",":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}},"docs":{}},"4":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"5":{"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}}}},",":{"5":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}}},"3":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"1":{"2":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{}},"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}}},".":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}}},"4":{"0":{"0":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"3":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},",":{"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"4":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.022222222222222223}}}},"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":{}},"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"5":{"0":{"0":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{},"%":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"+":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"3":{"0":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}},"docs":{}},"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"docs":{},"\"":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.018229166666666668},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"docs":{}}},"docs":{}}},"1":{"2":{"3":{"docs":{},"\"":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"docs":{}},"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"}":{"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.011049723756906077}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}},".":{"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.0012224938875305623}}}},"docs":{}}},"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"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.005208333333333333}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"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.0026041666666666665}}}}}},"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.0026041666666666665}}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"2":{"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.005208333333333333}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"}":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"3":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585}}}},"docs":{}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"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.011049723756906077}},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}},"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.011049723756906077}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}}}}},"n":{"docs":{},"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":{}}},"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.0012224938875305623}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}},"\"":{"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}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"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}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"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.007067137809187279},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}}}}},":":{"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.006172839506172839},"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.006172839506172839},"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.006172839506172839},"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.006172839506172839},"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.0026041666666666665}}}}}}}}}}}}}}}},"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.00975609756097561}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}}}}}}},"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.0012224938875305623}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}},"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.0024449877750611247}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}}}}}}},"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.0017921146953405018}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"}":{"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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}}}}}}}},"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.0035335689045936395}}}}}}}}}}}}}},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}},"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}}}}}}}}}}}}}}},"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":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}}}}}}}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"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.004640371229698376},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}}},"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":{}}}}}}},"\"":{"docs":{},"}":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667}},")":{"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}}}}}}},"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}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},")":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}},"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}},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}},"(":{"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.0018975332068311196}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"+":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"#":{"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.013020833333333334},"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.016574585635359115},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"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.0026041666666666665}}}}}},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}},"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.0026041666666666665}}}}}}}}}}}}}}}},"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}}}}}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}}},"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.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"{":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}},"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.01060070671378092},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007067137809187279}}}},"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.002320185614849188}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"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.0024449877750611247}}}}}}},"}":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"?":{"docs":{},"}":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},"r":{"docs":{},"/":{"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}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}},":":{"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}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"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}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"'":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"[":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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.006172839506172839},"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"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.003795066413662239}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"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}},"]":{"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.006112469437652812}}}}}}},"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.002320185614849188}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}},"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}},"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.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}}}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}}}}}}}},"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.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}},"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":{}}},"m":{"docs":{},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"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.003795066413662239}}}}}}}}}}}}}}}},"(":{"3":{"0":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.018975332068311195},"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.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"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":{},"i":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"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}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}},".":{"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":{},"d":{"docs":{},"p":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/static.html":{"ref":"ring/static.html","tf":0.01951219512195122},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"j":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},"m":{"docs":{},"p":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"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.006172839506172839},"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}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},".":{"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":{}}}}}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"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.0055248618784530384}}}}}}}},"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.0035842293906810036}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"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.01160092807424594},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.006112469437652812},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"n":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"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.004640371229698376},"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.0012224938875305623}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.038461538461538464}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"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.0035842293906810036}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"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.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"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}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}},"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.0234375},"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.03867403314917127},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"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.014388489208633094},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0078125},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.030864197530864196},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0234375},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.0171990171990172},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013282732447817837},"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.018337408312958436},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.01639344262295082}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/static.html":{"ref":"ring/static.html","tf":0.01951219512195122},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.02926829268292683},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"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}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}},"t":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"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.0017921146953405018}}}}}},"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},"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.003795066413662239}}}}}}}}}}},"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.018518518518518517},"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.006172839506172839},"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":{},"t":{"docs":{},"!":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"/":{"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"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}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}}}}}}},"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"*":{"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.006369426751592357}}}}}}}}},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},".":{"docs":{},".":{"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}}}}}}}}}}},"n":{"docs":{"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.006369426751592357}}}}},"o":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"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.012345679012345678},"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.0017921146953405018}}}}}}}},"p":{"docs":{},"v":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}},"i":{"docs":{},"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.002320185614849188}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"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.002320185614849188}}}}}}},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}},"r":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"f":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"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.0035335689045936395}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}}}},"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.0035335689045936395}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"#":{"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}}}}}}}},"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.006172839506172839},"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},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}},"n":{"docs":{},"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.0018975332068311196}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":5.004098360655738}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"?":{"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}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"+":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"p":{"docs":{},"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.0018975332068311196}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}}}},"\"":{"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.003667481662591687}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},":":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"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.006369426751592357}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0078125}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.018518518518518517}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"s":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"c":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.011049723756906077},"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.018518518518518517},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"]":{"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.0055248618784530384}}}}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.011049723756906077}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}},"s":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}},")":{"docs":{},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}},"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}}}}}}}},"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}}}}}}}}}}}},"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.006172839506172839}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"s":{"docs":{},"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}}}}}}}}}},"t":{"docs":{},"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":{}}}}}},"w":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"docs":{}}}}},"m":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}}}}},"a":{"docs":{"./":{"ref":"./","tf":0.0078125},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"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.014669926650366748},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.020491803278688523}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"z":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}},"p":{"docs":{},"i":{"docs":{},"]":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},")":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"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.0017921146953405018},"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.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.030360531309297913},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"interceptors.html":{"ref":"interceptors.html","tf":0.020491803278688523},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.015625},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"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.017595307917888565}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"e":{"docs":{},"v":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"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.0078125}}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}},"]":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}},"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.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014583333333333334},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}}},"x":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"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}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}}},"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":{}},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.028645833333333332},"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.03867403314917127},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.014134275618374558},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"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.0035335689045936395}}}}}}},"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}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"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.006172839506172839},"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.015625},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"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.0035335689045936395}}}}}},"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}}}}}}}}}},"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/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}},"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.0018975332068311196}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"s":{"docs":{},"]":{"docs":{},"`":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"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/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"o":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}}}}}}}},"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.006172839506172839},"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.011049723756906077}},"]":{"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.0055248618784530384}}}},"]":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}},"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}}}}}}}},"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":{}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},".":{"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.0017921146953405018}}}},"]":{"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.006369426751592357}}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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.0035335689045936395},"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}},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.007194244604316547},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}},"i":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}},"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":{},"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}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875}}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011385199240986717},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}},"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.003795066413662239}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"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.003795066413662239}},"t":{"docs":{},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},"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":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"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":{},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}},"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.003795066413662239}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01440329218106996},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"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.0125}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}}}}}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"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.003795066413662239}}}}},"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":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"y":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"z":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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}}}}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.09635416666666667},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.025477707006369428},"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.1270718232044199},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.07420494699646643},"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.17266187050359713},"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.05555555555555555},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.2727272727272727},"ring/ring.html":{"ref":"ring/ring.html","tf":0.03125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.03795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009779951100244499}},";":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"performance.html":{"ref":"performance.html","tf":0.02867383512544803},"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":{},"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":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"{":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},">":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.05755395683453238},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.015180265654648957},"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.003667481662591687},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},">":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}},"[":{"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.004640371229698376}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"docs":{},"\"":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}},"p":{"docs":{},"i":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01910828025477707},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00823045267489712},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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.0026041666666666665}}}}}}}}}}}}},":":{"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.006369426751592357}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125}}}}}}}}},"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.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.004878048780487805}}}}}}}}}},"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.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"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.006369426751592357},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}}},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"z":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"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.0055248618784530384}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547}}}}}},"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.007194244604316547}}}}}}}}}}}}}}}}}}}},"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.006172839506172839},"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.007194244604316547}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}},"n":{"docs":{},"s":{"2":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}},"docs":{}}},"*":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}},"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}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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.003667481662591687}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"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":{}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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.0026041666666666665},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"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.006369426751592357}}}}}}}}},"\"":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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.0017921146953405018},"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.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}},"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.006369426751592357}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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.0026041666666666665}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}},"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"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.006369426751592357}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}},"[":{"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.0035842293906810036}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"]":{"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}}}}}}}}}},"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.018229166666666668},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"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}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"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/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},":":{"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.012738853503184714}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"p":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"c":{"docs":{},"c":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"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}}}}}}}}},"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.006172839506172839}}}}}}}}},"m":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}},"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.012738853503184714}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},"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.0018975332068311196}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"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}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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.006369426751592357}}}}}}}}},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"i":{"docs":{},"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.006369426751592357}}}}}}}}}}}}}}}}},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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.012738853503184714}},"]":{"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.006172839506172839},"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":{},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}},"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.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"%":{"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":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}}},"}":{"docs":{},")":{"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.0026041666666666665}}}}}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"#":{"docs":{},"(":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},"{":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"{":{"docs":{},"{":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}},"docs":{"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.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.020833333333333332}}}}}},"c":{"docs":{},"o":{"docs":{},"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}}}}}}}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"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/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"advanced/":{"ref":"advanced/","tf":10.142857142857142},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"p":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"p":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"y":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"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.0012224938875305623}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"u":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"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/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"s":{"docs":{},"s":{"docs":{"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"r":{"docs":{},"g":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.0035335689045936395},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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.0035335689045936395}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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.002320185614849188}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"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.0055248618784530384}}}}}},"h":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},":":{"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}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"n":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"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.0018975332068311196}}}}}}}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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}}}}}},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"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.002320185614849188}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.007168458781362007}}}}},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"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.002320185614849188}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"s":{"docs":{},"k":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"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}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}}}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"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}}}}}}},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/":{"ref":"basics/","tf":0.11764705882352941},"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.338858195211786},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"i":{"docs":{},"c":{"docs":{"basics/":{"ref":"basics/","tf":10.058823529411764},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"c":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.0017921146953405018}}},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"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}}}}}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},"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.0035335689045936395},"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/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"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.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},".":{"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.0017921146953405018}}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}},"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.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}}},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"d":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"development.html":{"ref":"development.html","tf":0.018867924528301886}}},"d":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"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.0035842293906810036}}}},"s":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"m":{"docs":{},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"g":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}},"i":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.01160092807424594},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"s":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"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.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"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.0026041666666666665}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"coercion/":{"ref":"coercion/","tf":0.125},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":10.018518518518519},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},".":{"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}}}}}}}}}}}}}}}},"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}}}},"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":{},":":{"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.007194244604316547},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}}}}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.0035335689045936395}}}}}},"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}}}}}},"j":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}},"s":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"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.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011385199240986717},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"coercion/":{"ref":"coercion/","tf":10.25},"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.018518518518518517},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.032258064516129},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.026392961876832845},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374}},")":{"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.0056925996204933585}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}},"]":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},":":{"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.012345679012345678},"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.018518518518518517},"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.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02346041055718475}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},"d":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"m":{"docs":{},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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.013921113689095127},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.0146627565982405},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"s":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"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.007194244604316547},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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.0026041666666666665}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"s":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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.002320185614849188}}}}},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"e":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},".":{"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}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"u":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},"o":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.043165467625899},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.01951219512195122},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"s":{"docs":{},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},"!":{"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.01875}}}}},"i":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}},"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":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.019230769230769},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"j":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"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.014388489208633094},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"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.0024449877750611247}},"e":{"docs":{},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"d":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"s":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"l":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/router.html":{"ref":"basics/router.html","tf":0.03636363636363636},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},":":{"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},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"c":{"docs":{},"]":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"t":{"docs":{},"x":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}},"}":{"docs":{},"]":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.013020833333333334},"basics/":{"ref":"basics/","tf":0.11764705882352941},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.031802120141343},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.349794238683127},"coercion/":{"ref":"coercion/","tf":0.125},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.028846153846153848},"ring/":{"ref":"ring/","tf":0.09523809523809523},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.3472544470224284},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"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.012224938875305624},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.012711864406779662}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.006172839506172839},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.012345679012345678},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}}}}}},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017077798861480076},"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.003667481662591687}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},")":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"i":{"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.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.022222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.03902439024390244},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"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.002320185614849188}}},"s":{"docs":{},":":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}}}},"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.007194244604316547},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}}}}},"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.006172839506172839},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},",":{"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.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}},"i":{"docs":{},"d":{"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}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.0125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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.3379737045630313},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"o":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"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}},":":{"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.0018975332068311196}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"'":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"c":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008557457212713936}},"s":{"docs":{},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"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.0012224938875305623}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"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}}}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}},"c":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"e":{"docs":{},"x":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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.0026041666666666665},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"s":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"r":{"docs":{},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"r":{"docs":{},"a":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"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.0012224938875305623}}}}}}},"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.014134275618374558},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/":{"ref":"coercion/","tf":0.125},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":5.001766784452297},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"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},"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}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"s":{"docs":{"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.0055248618784530384},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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.0055248618784530384},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"l":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"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}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"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}}}}}},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"s":{"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.0012224938875305623}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"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.0017921146953405018}}}}}}}}}}}}},"/":{"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":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},",":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"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}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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.005208333333333333},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"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},"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"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.006172839506172839},"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.012285012285012284},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"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.006172839506172839},"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}}}}}},"l":{"docs":{},"s":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"q":{"docs":{"faq.html":{"ref":"faq.html","tf":10}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.007194244604316547},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"l":{"docs":{},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03902439024390244},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},"s":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"x":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}},"r":{"docs":{},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"a":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"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.007067137809187279},"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/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.057692307692307696},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.017811704834605598},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.01160092807424594},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},".":{"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.0035335689045936395},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}},".":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}},"l":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"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.0017921146953405018}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"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.0012224938875305623}}}}}}}},"w":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"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}}}},"r":{"docs":{},"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":{},"n":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.036458333333333336},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.04},"ring/static.html":{"ref":"ring/static.html","tf":0.03414634146341464},"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.013921113689095127},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.013447432762836185},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"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.0026041666666666665}}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},"]":{"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.0026041666666666665}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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}}}}}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},")":{"docs":{},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"]":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"/":{"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.0018975332068311196}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"s":{"docs":{},"h":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}},"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.002320185614849188}}},"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},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"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.0055248618784530384},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"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.0035335689045936395}}}}}},"r":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0018975332068311196}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"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.0012224938875305623}}}}},"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":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.01639344262295082},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"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.0012224938875305623}}},"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.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"i":{"7":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02877697841726619},"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.018518518518518517},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.005208333333333333}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}},"\"":{"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.006172839506172839},"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.006369426751592357},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},",":{"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.006172839506172839},"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.002320185614849188},"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.0035335689045936395}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"f":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"a":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.014388489208633094}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":5.045081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}},"p":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10.002604166666666}}}}}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}}},"?":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}},"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}}}}},"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":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"i":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"f":{"docs":{},"o":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}},"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}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"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.003795066413662239}},":":{"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.0018975332068311196}}}},"s":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}},"o":{"docs":{},"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}}}}}}}}},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232}}}}},"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.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"i":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},"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.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"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.006369426751592357}}}}}}}}},"t":{"docs":{},"'":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"e":{"docs":{},"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}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"?":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},".":{"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.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"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.00625},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}}}}}}},"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":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"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.016574585635359115},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.014388489208633094},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"?":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},",":{"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}}},"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.004878048780487805}}}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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}},")":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"k":{"docs":{},"e":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},"a":{"docs":{},"g":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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.0012224938875305623}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"p":{"docs":{},"r":{"docs":{},"o":{"1":{"1":{"docs":{},",":{"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"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.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/ring.html":{"ref":"ring/ring.html","tf":0.028645833333333332},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.006112469437652812},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}}}},"r":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}},"a":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},"e":{"docs":{},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"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.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/":{"ref":"ring/","tf":0.09523809523809523},"ring/ring.html":{"ref":"ring/ring.html","tf":0.03125},"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.4122196442382053},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.022770398481973434},"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.004889975550122249},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"/":{"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.0055248618784530384},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"development.html":{"ref":"development.html","tf":0.05660377358490566},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}},"e":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"s":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"r":{"docs":{},"e":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008557457212713936},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},".":{"docs":{},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"v":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.015625},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.05454545454545454},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.3775322283609572},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"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.0055248618784530384}}},".":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"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.0055248618784530384}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"i":{"docs":{},"v":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0234375},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.011049723756906077},"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.0055248618784530384}}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},")":{"docs":{},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"]":{"docs":{},"]":{"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.004878048780487805}}}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"c":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"e":{"docs":{},"d":{"docs":{"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.012345679012345678},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"w":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"t":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},":":{"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.006172839506172839},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"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.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"w":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.022900763358778626},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"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":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.04807692307692308},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/router.html":{"ref":"basics/router.html","tf":0.02727272727272727},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.05365853658536585},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.012224938875305624}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"m":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}}},".":{"docs":{},"\"":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},")":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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/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.004878048780487805}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"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.0055248618784530384}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"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}}}},"u":{"docs":{},"t":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.015625},"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.027624309392265192},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011385199240986717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"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.011049723756906077},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.026565464895635674},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"s":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"}":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},",":{"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.0012224938875305623}}}}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"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}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.025477707006369428},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249},"performance.html":{"ref":"performance.html","tf":0.010752688172043012},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"]":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"]":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"s":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"s":{"docs":{},"s":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},"e":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"g":{"docs":{},"g":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.001897533206831},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"coercion/":{"ref":"coercion/","tf":0.125},"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.003795066413662239}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"n":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"r":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},":":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"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.006369426751592357}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"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.007067137809187279},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"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":{"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.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.002320185614849188}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"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.002320185614849188}},"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}}}}}}}}}},"o":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"t":{"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}},"l":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"!":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}}}},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"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}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"i":{"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},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"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.0017921146953405018}}}}}}},"c":{"docs":{},"o":{"docs":{},"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.0017921146953405018}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"!":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"e":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.012544802867383513}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":10.007168458781361},"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.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}},"o":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}},"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.003795066413662239}},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}}}}}}}},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"k":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"s":{"docs":{},"h":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}},"l":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}},"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.005208333333333333},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"e":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.018229166666666668},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.010752688172043012},"interceptors.html":{"ref":"interceptors.html","tf":0.02459016393442623},"faq.html":{"ref":"faq.html","tf":0.05084745762711865}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007067137809187279}},")":{"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":{"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}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}}},"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.0056925996204933585}}}}}}}}}}}}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}},"/":{"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.003795066413662239}}}}}}}},"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.0055248618784530384}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}},"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.0012224938875305623}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"c":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},".":{"docs":{},"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.0018975332068311196}}}}}}}}}}},"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}}}}}}}}}}}}}}}}},"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/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}}}}},"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.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"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.007194244604316547}}}}}}}}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}},"q":{"docs":{},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.018229166666666668},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.004889975550122249},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047}},")":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"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":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}},"}":{"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"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.004640371229698376},"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}},"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.0026041666666666665},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"v":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/static.html":{"ref":"ring/static.html","tf":5.048780487804878},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017077798861480076},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.04398826979472141},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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}}},"]":{"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.002320185614849188}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"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.002932551319648094}}}}}}},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"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.0017921146953405018}},"s":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},",":{"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.0035335689045936395}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013921113689095127},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}}}}},"a":{"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.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},"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}}}},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"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":{"performance.html":{"ref":"performance.html","tf":0.007168458781362007}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"l":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},"v":{"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},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"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}}}}},"p":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"a":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"`":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"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.0012224938875305623}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/":{"ref":"ring/","tf":10.095238095238095},"ring/ring.html":{"ref":"ring/ring.html","tf":5.03125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"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.006112469437652812},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"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/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.018229166666666668},"basics/":{"ref":"basics/","tf":0.35294117647058826},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.089171974522293},"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.360957642725598},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.053003533568905},"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.0503597122302155},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.019434628975265017},"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.1346153846153846},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.04375},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.031941031941032},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.04834605597964377},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.018229166666666668},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"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.02444987775061125},"performance.html":{"ref":"performance.html","tf":0.05017921146953405},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.07627118644067797}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.033854166666666664},"basics/":{"ref":"basics/","tf":0.058823529411764705},"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.04419889502762431},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.038869257950530034},"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.02877697841726619},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/":{"ref":"advanced/","tf":0.2857142857142857},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.038461538461538},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":5.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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}},":":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},":":{"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.0055248618784530384},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"s":{"docs":{},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742}}},"s":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02158273381294964},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},":":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}},",":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},",":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}},")":{"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}}}}}}}},"o":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.01639344262295082}},"s":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"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}}}}}},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"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.0035335689045936395},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}}},"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},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"development.html":{"ref":"development.html","tf":0.018867924528301886}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"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.004640371229698376},"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.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"b":{"docs":{},"y":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"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}}}}}},"h":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}}}},"]":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0078125},"coercion/":{"ref":"coercion/","tf":0.125},"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.0056925996204933585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"/":{"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.0012224938875305623}}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"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.0017921146953405018}}}}}}}},"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.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"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.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},"]":{"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},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"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.009280742459396751},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"r":{"docs":{},"v":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03902439024390244},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"development.html":{"ref":"development.html","tf":0.018867924528301886}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"d":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"e":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"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/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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.0017921146953405018}}}},"z":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.018518518518518517},"coercion/":{"ref":"coercion/","tf":0.125},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"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.014669926650366748},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"?":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"?":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"s":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},")":{"docs":{},":":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"a":{"docs":{},"n":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.004889975550122},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.014830508474576272}}}}}},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"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.0026041666666666665}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"docs":{"./":{"ref":"./","tf":0.013020833333333334},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.059902200488998},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"/":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.006369426751593},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},",":{"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.00211864406779661}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},".":{"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.006369426751592357},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}},"t":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.011049723756906077}}},":":{"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/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}},"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.0018975332068311196}},"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}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/static.html":{"ref":"ring/static.html","tf":5.019512195121951},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"y":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"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.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"?":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"]":{"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.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"}":{"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}}}}},"*":{"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}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"h":{"docs":{},"i":{"docs":{},"p":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"n":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"p":{"docs":{},"e":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"o":{"docs":{},"w":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"l":{"docs":{},"i":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"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.0035335689045936395}}},"s":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"w":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"/":{"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.0012224938875305623}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"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},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.0035335689045936395},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"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.007194244604316547},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"n":{"docs":{},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"e":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"e":{"docs":{},"m":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"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.004640371229698376}}}}}}},"s":{"docs":{},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"r":{"docs":{},"d":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"a":{"docs":{},"t":{"docs":{},"'":{"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}},")":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"p":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"o":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},")":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"d":{"docs":{},"o":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"u":{"docs":{},"r":{"docs":{},"n":{"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/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.023297491039426525},"development.html":{"ref":"development.html","tf":0.03773584905660377}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.019559902200488997}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.007067137809187279},"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.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"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.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}}}}},"d":{"docs":{},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"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.006172839506172839},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}},"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}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"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.0024449877750611247}},"}":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},".":{"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}}}}}}}},"a":{"docs":{},"y":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},".":{"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.004878048780487805}}}},"n":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"y":{"docs":{},"?":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"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},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"l":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"development.html":{"ref":"development.html","tf":0.018867924528301886},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}},"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}}}}}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"e":{"docs":{},"'":{"docs":{},"l":{"docs":{},"l":{"docs":{"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}}}},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"l":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"{":{"2":{"0":{"0":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"docs":{}},"docs":{}},"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.0069605568445475635},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009779951100244499},"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.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.026748971193415638},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875}}}}}}}}},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"d":{"docs":{"./":{"ref":"./","tf":0.0078125},"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.022099447513812154},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008557457212713936},"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.03821656050955414},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0176678445229682},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01910828025477707},"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.013921113689095127},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.013020833333333334},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115}}}}},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013282732447817837},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009779951100244499}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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.0012224938875305623}}}}}}},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}}}}}}}}}}}}}}}}}}}}}},"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.007194244604316547},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"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.012345679012345678},"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.006172839506172839},"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.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"r":{"docs":{},"i":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.015180265654648957},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"x":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"z":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875}}}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},")":{"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}},"\"":{"docs":{},"x":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585}}}},"/":{"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.0012224938875305623}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.006172839506172839},"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.002457002457002},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.345833333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"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}}},",":{"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.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}}},"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.0026041666666666665}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"development.html":{"ref":"development.html","tf":0.03773584905660377}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"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}}}}}}}}},"i":{"docs":{},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"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.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"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.006172839506172839},"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.0024449877750611247}}}}}}}},"=":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}},">":{"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},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.057692307692307696},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"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.006369426751592357},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}},"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.0055248618784530384}}}}},"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},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"o":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},":":{"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.0017921146953405018}}}},"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.0018975332068311196}}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"h":{"docs":{},"z":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}}},"l":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.006172839506172839},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.0017921146953405018}}}}},"n":{"docs":{},"k":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"f":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"t":{"docs":{},"'":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"s":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"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.007194244604316547}},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"o":{"docs":{},"k":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"u":{"docs":{},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.007168458781362007}},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}},"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"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.0055248618784530384}}}}}}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.014388489208633094}}}}}},"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.02877697841726619}}}}}}}}}}}}}}}},"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.02877697841726619}}}}}}}}}}}},"p":{"docs":{},"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.02877697841726619}}}}}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.007334963325183374},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"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.003667481662591687}}}},":":{"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.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"^":{"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.0035335689045936395}}}}}}}}},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{"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.007067137809187279}}}}}}}},"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}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"y":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"v":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},")":{"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}}},".":{"docs":{},".":{"docs":{},".":{"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},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"/":{"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":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"`":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"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}}}}}}}}}},".":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"[":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"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.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"u":{"docs":{},"e":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"i":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"|":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01646090534979424}}},"y":{"docs":{},"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.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"]":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}},"!":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257}}},"?":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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}}}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"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}}}}}}},"\\":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\\":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}}}}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},")":{"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.0017921146953405018}}}}}}}}}}}},"µ":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"_":{"docs":{},"]":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"length":4545},"corpusTokens":["!","\"","\"\"}","\"\"})","\"\"})))","\"(constrain","\"(not","\"/\"","\"/\"))","\"/\")))","\"/\"))))","\"/\",","\"/\"})","\"/\"})))","\"/*\",","\"/:company/users/:us","\"/api\"","\"/api\",","\"/api/admin/db\"})","\"/api/admin/ping\",","\"/api/admin/ping\"})","\"/api/admin/users\"})","\"/api/internal/users\"})","\"/api/ipa\")","\"/api/ns2/more/bar\")","\"/api/ns2/more/bar\",","\"/api/ns2/more/bar\"}","\"/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/swagger.json\"","\"/api/swagger.json\"})","\"/api/user/1\"","\"/api/user/1\")","\"/api/user/:id\"","\"/api/user/:id\",","\"/assets/*\".","\"/auth/login\")))","\"/favicon.ico\"})","\"/hello\")","\"/invalid\"})","\"/metosin/users/123\")","\"/metosin/users/123\"))","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"/metosin/users/ikitommi\"))","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/ping\"","\"/ping\")","\"/ping\"}","\"/ping\"})","\"/pong\"})","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"/users/:id\"","\"/workspace/1/1\")))","\"0.1.1\"]","\"0.4.0\"]","\"1\"}","\"1\"})","\"1\"}}","\"1.0.0\"","\"123\"},","\"2.0\"","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"application/edn\"","\"application/transit+json\"}","\"application/transit+json\"}}}})","\"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\"],","\"forbidden\"}","\"forbidden\"})","\"identity\"","\"identity\",","\"identity\"},","\"identity\"}]","\"identity\"}])","\"identity\"}}})},","\"ikitommi\"))}}","\"index.html\")])","\"int\",","\"interceptor","\"kosh\"}","\"kosh\"})","\"kosh\"})})))","\"metosin\",","\"mi","\"middlewar","\"ok\",","\"ok\"}","\"ok\"})","\"ok\"}))","\"ping\")}]","\"ping\")}])","\"plu","\"pong\")}]]","\"pong\"}","\"pong\"})]","\"pong\"})])","\"pong\"})}]","\"public\"","\"requir","\"server","\"swagger","\"tenant1\"","#","#'app","#'reitit.core/rout","#(interleav","#(r/router","#(respond","#(slurp","#:clojure.spec.alpha{:problem","#coercionerror{:schema","#endpoint{:data","#match{:templ","#methods{...}","#methods{:ani","#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[user$handler]}","#partialmatch{:templ","#reitit","#{\"application/json\"","#{::one","#{:admin","#{:adminz}}","#{:adminz}},","#{:adminz}}]","#{:adminz}}}})},","#{:admin}","#{:admin}}","#{:admin}})","#{:admin}}}]]","#{:admin}}}]]]","#{:db","#{:id}","#{:id}}","#{:manager}","#{:manager}}","#{:public","#{:session}","#{:user/api}","#{:user}","#{keyword?}}","#{keyword}}}","#{route}}","#{})","#{}))","%","%)","%))","%))))","&","'())","'[clojure.set","'[clojure.spec.alpha","'[clojure.spec.test.alpha","'[criterium.cor","'[expound.alpha","'[muuntaja.middleware]))","'[ns1])","'[ns2])","'[reitit.coercion","'[reitit.coercion.schema","'[reitit.coercion.schema])","'[reitit.coercion.spec","'[reitit.coercion.spec])","'[reitit.cor","'[reitit.http","'[reitit.http.coercion","'[reitit.middlewar","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.spec","'[reitit.spec","'[reitit.spec])","'[reitit.swagg","'[ring.adapter.jetti","'[ring.middleware.params]","'[schema.cor","'[spec","'add","'get","'positiveint))","(","(\"/common/ping\"","(#reitit.spec.problem{:path","()","(*","(*path).","(+","(30x","(:api","(:get,","(:id)","(:query,","(:reitit.coercion/request","(:request","(:requir","(:tags,","(?","([\"/api\"","([\"/get","([...","([request","([request]","(actually,","(and","(app","(assoc","(ataraxy,","(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/coerc","(coercion/coerce!","(coercion/respons","(coll","(comp","(compiled)","(condp","(conj","(constantli","(context","(core.clj:4739)","(cqr","(current","(data)","(def","(default","(defn","(defprotocol","(defrout","(done","(dotim","(duct/integrant/macchiato","(effect","(expand","(extend","(fn","(fnil","(for","(get","(handler","(http/http","(http/router","(human","(if","(includ","(integer?","(java.io.file.","(jetty/run","(keyword","(let","(mapv","(match","(matches,","(micro","(middleware/cr","(n","(name","(nilabl","(no","(non","(not","(ns1/routes)]])","(ns2/routes)]","(of","(ok","(onli","(optimized)","(option","(optional)","(or","(per","(positiveint","(println","(r/expand","(r/match","(r/partial","(r/rout","(r/router","(real","(records,","(reitit","(reitit/match","(reitit/routes))","(repeat","(requir","(respons","(reverse)","(ring/creat","(ring/get","(ring/r","(ring/rout","(rout","(router","(router)","(routes)))","(routes))))","(s/coll","(s/constrain","(s/def","(s/explain","(s/key","(s/merg","(s/valid?","(schema","(seq","(set!","(set/subset?","(simple)","(some","(start","(static","(stest/instru","(str","(swagger","(swagger/cr","(updat","(via","(wildcard","(wip)","(with","(wrap","({:path",")benchmark","+","...","...,","...])","./scripts/lein","./scripts/set","./scripts/test.sh","/:user","/:version/statu","/api/command/add","/api/user/:id:","/bulk/:bulk","/examples/r","/public/*path","/swagger.json","0]}),","0x15b59b0e","0x7461744b","1","1.9m","100","1000)","1000):","1000]","10}})","123}}","16","1]","1})","2","2,5","200","200,","24x","256","2]]}","2})","2},","2}})","3","3.2","30","300","3000\"))","3000,","312m","3]]","4","400,","403","403,","404,","405,","406,","50%","50+","500,","500x","530","6","6))\"},","6},","6}}",":","::acc","::admin]","::admin}]","::api","::api}}})","::auth","::bar","::bar])","::coerc","::compani","::db]","::db]]","::db]}","::db}]","::ipa)","::kikka)","::math}}","::mw/coerc","::one","::one}}","::order","::path","::ping","::ping)","::ping))","::ping]","::ping]]","::ping]])","::ping}","::ping}]","::ping}]]","::plu","::plus)","::pong}]]","::role","::roles)]","::rs/default","::rs/explain","::rs/respons","::spec/raw","::tenant1])","::two","::two}}","::two}}}","::user","::user)","::user))","::user]]))","::users]","::users]]","::users]]))","::users}","::wrap2","::wrap3","::zone",":a",":admin",":admin]]}",":adminz,",":admin}",":api)]}",":api]]",":api]]}",":append,",":arg",":auth/login]",":auth/recovery]",":bodi",":body,",":body.",":body]}}",":cache,",":child",":clojure.spec.alpha/spec",":clojure.spec.alpha/valu",":coerc",":coercion",":coercion)",":command",":compil",":compile.",":config",":conflict",":consum",":consumes)",":context",":data",":db",":db]]",":debug",":debug]))})))",":delet",":delete,",":delete]]",":descript",":dev",":displac",":enter",":error",":etag,",":expand",":form,",":get",":get,",":gzip",":handler",":handler)})",":handler]}",":head,",":header",":id",":id))))}",":id]",":in",":index",":interceptor",":intern",":internal}",":internal})",":into",":join?",":last",":let",":linear",":loader",":lookup",":manager}",":manager})",":manager},",":method",":middlewar",":mix",":name",":name)))",":no",":not",":ns1/bar",":ns1/bar},",":opt",":options,",":opts)]",":page",":paramet",":parameters.",":parameters}]",":patch,",":path",":path)",":path.",":path]",":post",":post)]]",":post,",":pred",":prepend,",":problem",":produc",":produces,",":provides.",":public",":public}",":put,",":put.",":queri",":query,",":query}",":refer",":reitit.coercion/request",":reitit.coercion/respons",":reitit.middleware/transform",":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)",":responses.",":result",":role",":roles]`",":roles}",":root",":rout",":router",":schema,",":scope",":secure]]}",":segment",":singl",":spec",":summari",":swagger",":tag",":token]",":type",":uri",":url",":user",":user/ord",":user/ping}",":user/ping}]",":user/rol",":user/role:",":user/role],",":user/roles)),",":user/roles:",":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)]",";",";#reitit.core.match{:templ",";;",";[\"/bar\"",";the",";{:statu","=","=>",">",">>","?","?arg","?intomiddleware.","[\"\"","[\"/\"","[\"/*\"","[\"/:company/users/:us","[\"/:user","[\"/:version/status\"]])","[\"/add","[\"/admin\"","[\"/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\"","[\"/bulk/:bulk","[\"/db\"","[\"/deep\"","[\"/internal\"","[\"/more\"","[\"/ns2\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/ping\"]","[\"/pizza\"","[\"/plus\"","[\"/plus/:z\"","[\"/pong\"","[\"/pong\"]]","[\"/public\"","[\"/public/*path\"]","[\"/schema\"","[\"/spec\"","[\"/swagger.json\"","[\"/two\"","[\"/user/:id\"","[\"/users\"","[\"/users/:id\"","[\"/workspace/:project","[\"/workspace/:project/:page\"","[\"index.html\"]","[\"pong\"]]])","[\"schema\"]}}","[\"spec\"]}}","[\"tenant1\"","[\"workspace/\"","[#(wrap","[%]","[...","[0]","[1","[1]","[3","[::acc]}]","[::admin],","[::admin]}","[::api","[::api]","[::api]}","[::compani","[::db]","[::mw/coerc","[::roles]","[::roles])","[::zone])","[:api","[:command","[:handler]","[:handler],","[:handler]}),","[:reitit.spec/default","[:reitit.spec/nam","[:request","[:respons","[:rout","[:routes]","[:swagger","[:user/p","[:user/rol","[:user/roles],","[[\"/api\"","[[\"/api/admin\"","[[\"/api/ping\"","[[\"/api/public/ping\"","[[\"/auth/login\"","[[\"/common\"","[[\"/ping\"","[[\"/ping\"]","[[\"/users/:us","[[\"auth/login\"","[[\"auth/recovery/token/\"","[[#object[user$wrap]","[[:queri","[[[:project","[[type","[[wrap","[[wrap3","[]","[])","[]))","[],","[]}),","[]}}]]","[_","[_]","[actions]","[add","[auth","[coercer","[coercion","[expound","[file","[get","[handler","[handler]","[id","[int]]","[interceptor]}}])])","[match","[method","[metosin/reitit","[parameters]}]","[path","[path]","[reitit.cor","[request]","[requir","[respons","[rhc/coerc","[ring.middleware.params/wrap","[roles]}","[rrc/coerc","[thi","[this])","[total","[wrap","[wrap2","[x","[zone","[{:key","[{{user","[{{{:key","\\\"abba\\\"))\"},","^:replac","^^^^^^","^^^^^^^","_]","`:admin`,`:manager`","`:roles`","`:user/roles`","`[:user","`lein","`reitit.coercion/coercion`","`reitit/router)","abil","about.","abstract","acc","accept","access","accident","accumul","accur","act","action","actual","ad","adapt","add","admin}}]]","admin}}]]]))","advanc","again","again:","against","against.","againt","algorithm,","algorithm.","algorithms,","allow","allowed.","alreadi","also,","altern","alternative,","alway","and/or","annot","anonym","anoth","another.","anything,","any},","api","api\"}}","api,","apidoc","apis.","app","app)","app:","appli","applic","application.","applications,","applied.","apply.","approaches,","apps,","arbitrari","architectur","arg","args.","argument","argument:","arguments:","ariti","around","ask","astut","async","at:","ataraxi","attach","attacht","auth","author","authorizationmiddlewar","automat","avail","average,","awesom","awesome.","back","back.","base","baselin","basic","be","befor","behav","behavior","behind","below","bench","benchmark.","best","better","better,","better.","between","bi","bide","bidi","bidi,","bidi.","bidi:","bidi?","bit","blown","bodi","bonus,","boolean","booleans,","bootstrapping:","both","box","box.","build","built","bump","busi","but,","cach","cache:","call","callback.","camelcase.","captur","card","case","case,","case.","catch","cc])","chain","chain,","chains.","chang","channel","child","chosen","ci","class","classpath.","clean,","cleanli","cli","client","clj","cljs)","clojar","clojur","clojure(script)","clojure(script).","clojure,","clojure.","clojure.core/ex","clojure.core/fn?,","clojure.core/string?","clojure.lang.exceptioninfo:","clojure.spec","clojure.spec)","clojure.spec.alpha/explain","clojure.specs.","clojurescript","clojurescript,","clojurescript.","clojurian","closur","code","code,","coerc","coerce!","coerced.","coercer","coercers.","coercers}))","coercion","coercion)","coercion,","coercion.","coercion/compil","coercion:","coercion])","colect","collect","common","commun","compil","compilation,","compilation.","compilations.","compiled.","compiler,","compilerexcept","compiling:","compiling:(/users/tommi/projects/metosin/reitit/test/cljc/reitit/spec_test.cljc:151:1)","complet","compojur","compojure,","compojure.","compojure:","compojure?","compon","components.","compos","composit","comput","configur","conflicit","conflict","conflicts!)","conflicts.","conflicts:","conform","conforming,","conj","consid","construct","contain","context","contrari","contribut","contribute?","core","core):","cores:","correct","correct,","correctli","correctly:","cqr","creat","created,","created.","creation","creation:","crude","ctx","ctx))}))})(requir","ctx}]","current","currently,","custom","data","data)","data,","data.","data:","db","db)","debug","debug.","decid","declar","default","default,","defaults:","defin","defined).","defined,","defined.","defined:","definit","definitions,","definitions.","degrade.","demonstr","depend","dependeci","depends.","deploy","descript","design,","destructur","detail","details.","detect","dev","dev,","develop","developement,","developement.","differ","differences:","differenti","differently,","direct","directory,","disabl","discuss","discussions,","dispatch","do","doc","docs:","document","documentation,","doesn't","don't","done","done.","done:","downsid","draft","driven","driven,","duct","dure","dynam","e.g.","e/expound","e])","easi","easier","easili","easy,","effec","effect","element","enabl","enchanc","encod","endpoint","endpoint,","endpoint.","endpoints.","enforc","enough","ensur","entri","environment.","error","error.","error:","errors,","errors.","especi","etc.","etc.)","even","everyth","ex","exact","exampl","except","exceptioninfo","exclud","execut","exist","expand","expans","expect","explain","explicit","explicitli","expos","expound","expound/printer)","expound])","extend","extens","extensions.","extern","extra","extract","fail","failed...","failed:","fails,","fallback","fals","false})","faq","fast","fast,","fast.","faster","faster.","fastest","featur","feature,","felt","few","figur","file","file)","files.","final","first","fix","flatten","flattened:","fn?","follow","following:","form","format","formatter.","found","found,","found.","frameworks.","frankli","free","frequent","frontend","full","fulli","fun","function","function,","function.","functions,","functions.","futur","g","gb","gener","ghz","gitbook","gitbook.","given","go","go.","go:","goal","goe","good","good,","good:","great","guard","guide.","hacki","hander","handl","handler","handler))","handler)))","handler))))","handler)]]","handler)]])","handler)}}]","handler)}}])","handler)}}]]","handler.","handler/middlewar","handler:","handler]","handler])","handler])))","handler]]]]","handlers,","handler}","handler}]","handler}])))","handler}]]","handler}]]])","handler}]]])))","handler}}]]","handler}}]])))","handler}}]]]","handler}}]]])))","hard","hard.","harder","hash","have","help","helper","here","here'","here.","higher","hinder","hit","hoc","hold","hook","hook)","hooks.","host","http","http://localhost:3000","http://spec.commonmark.org/","http])","i7","id","id\"","id\",","id\"]","id)","id))","id)))","id))))","id/ord","id/orders\"]","id]","id]))","id]]))","idea","ident","identifi","identifier:","identity,","identity]","identity]}","identity}]","identity}}]]","identity}}]]))","id}","id},","ignor","ignored.","immut","implement","implementation.","implementation:","implicit","implicitli","in:","inde","index","indic","infinit","influenc","info","inform","information:","initi","inject","injectuserintorequestmiddlewar","inlin","input","inspect","inspir","instal","instanc","instead","instruct","instrument","int","int,","int?,","int?}","int?}}","int?}}}","int?}}},","int?}}}]","integr","intel","interact","interceptor","interceptor)","interceptor))","interceptor.","interceptor]","interceptor]}","interceptor]}})))","interceptors,","interfac","intern","internal)","interpet","interpret","introduct","int}}","int}}}","int}}},","invalid","invalid:","inventoried.","inventories,","invocation.","invok","issu","issues.","it'","it,","it.","it?","iterations.","itself","java.io.fil","java.lang.string,","jetti","jetty]","join","jvm","kb","key","key,","key.","key:","keys)","keys,","keys.","keys:","keyset.","keyword","keywords)","keywords.","know","know.","known","l2","l3","larg","large!","leaf","lein","less","let'","level","level,","lib","librari","library?","libs.","life","life)","life,","link","list","loader","local","locally:","locat","log","log]","long","look","lookup","lookup,","lot","lot.","lupapiste.","macbook","macbookpro11,3","macchiato","machin","macro","magical.","magnitud","magnitude.","main","make","manag","mani","manual","map","map.","maps.","margin","match","match)","match))))","match,","match.","match:","match?","matched)","matched),","matched,","matched.","matches,","matter","matter?","mb","mean","measur","measure?","memory:","merg","merge.","message.","meta","method","method.","methods.","micro","mid","middlewar","middleware)","middleware,","middleware.","middleware/interceptor","middleware:","middleware]","middleware])","middleware]}","middleware]}})))","miss","missing:","mix","model","models.","modified?,","modul","modular","module.","module:","modules:","more","more.","mostli","mount","mount.\"","move","much","multimethod","multipl","mutabl","muuntaja","muuntaja.middleware/wrap","naiv","name","name!","name.","name:","name]","name])","names:","namespac","namespace,","namespace.","namespaces.","name},","need","nest","new","nice","nice,","nil","nil).","nil)]])","nil)})","nil,","nil.","nil:","nil]","node.j","non","none","normal","not.","notabl","note","note:","nothing.","nothing.\"","notic","now","npm","ns","ns1","ns1)","ns1,","ns1/rout","ns1/routes]])","ns2)","ns2/routes]","ns3)","ns3.","number","numbers,","objects:","of:","ok","on","on.","on:","onc","once,","only)","op.\"","opaqu","opensensor","ops/sec","opt","optim","optin","option","option,","optionally,","options)))","options.","options:","options]","opts)]","opts]","order","order\"","order.","order]])","order]}}])]","origin","otherwis","out","out*","outsid","over","overal","overrid","overridden","packag","package.","page,","param","paramet","parameter,","parameter:","parameters.","parameters:","params]))","params]}}","params}},","params}}]","paremet","pars","part","part.","partialmatch","partialmatch,","particip","pass","path","path)","path)]","path.","path])","paths,","pattern","pedest","pedestal).","pedestal,","pedestal:","pedestal?","penalty.","per","perf","perfect.","perform","performance,","performance.","performance:","ping","pizza","place.","plan","pleas","plu","pluggabl","plumat","po","poke","port","portabl","pos?","positiveint","positiveint)\"},","positiveint}}}","possibl","possible,","post","power","powerful.","pr!","practic","pre","precompute/compil","predicate:","prefix","present","present.","present:","pretti","preview","primitives!","principl","print","println","pro","problem","problem.","problem:","problems.","process","processing,","processing.","processor","processors:","prod","produc","product","production.","programmatically:","project","project:","projects.","proof","protocol","protocol)","protocol,","protocol.","protocol:","proven","provid","public","pull","purpose:","push","python'","qualifi","queri","question","queue","quick","quit","r","r/expand","r/linear","r])","r]))","rack.","raise))))))","raise)))))))})","raise]","rational","raw","re","read","readabl","readable)","reader","readi","readme:","real","realistic.","realli","really,","reason","reasoning:","recompil","record","recurs","recursive.","registri","regress","rehost","reitit","reitit,","reitit.","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coerce!","reitit.coercion/coercion","reitit.coercion/compil","reitit.cor","reitit.core/expand","reitit.core/expand)","reitit.core/match","reitit.core/rout","reitit.core/router:","reitit.core/throw","reitit.impl/intostring.","reitit.interceptor","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","reitit.ring.coercion:","reitit.ring.spec/valid","reitit.ring/cr","reitit.ring/get","reitit.ring/r","reitit.ring/rout","reitit.spec","reitit.spec/valid","reitit.swagg","reitit.swagger.swagg","reitit.swagger/cr","reitit/conflict","reitit:","rel","relat","relev","reload","render","repl","repl`","replac","repo","represent","representation.","request","request)","request)))","request)))))","request))))})","request.","request:","request}]","requir","required)","resolut","resolution:","resolv","resourc","respond","responess,","respons","response))","response)))","response.","response:","response]","responses)","responses,","responses:","responses]}","rest","rest(ish)","result","results,","results:","resut","retriev","return","returned,","returned:","reus","reuse)","revers","reverse)})))","rewritten","rhc/coerc","rhc])","ring","ring,","ring/creat","ring:","ring]","ring])","roadmap","role","roles)","roles))","roles)))","roles.","roles:","roles]","roles]}","roles]}]","roles]}]]","roles]}})))","root","root,","rout","route))))","route,","route.","route:","route]","route]]","route]])))","router","router)","router):","router,","router.","router:","routers,","routers.","routers:","router}))","routes)","routes))","routes):","routes,","routes.","routes:","routing)","routing,","routing.","routing:","rrc/coerc","rrc]","rrc])","rrs/valid","rrs])","rs/valid","rs])","ruby'","rule","run","runtim","s/*explain","s/int","s/int}","s/int}}","s/int}}}]","s/int}}}]))","s/key","s/str","s])","same","same.","sampl","satisfi","scenario","scene","schema","schema\"","schema.","schema/coercion","schema:","schema]","scientif","scope","search","second","seconds,","see","segment","select","separ","separately:","sequenc","sequenti","sequential)","serv","served.","server","servers,","set","set,","set])","setup:","sever","shape","share","shine","ship","shipped,","short","show","side","sight","silent","similar","simpl","simple,","singl","site","size","slack","slack.","slow,","slower","slowest","small","snappi","so,","solut","someth","source:","sources.","span","spec","spec!","spec!})","spec\"","spec,","spec.","spec/coercion","spec/int?)","spec/string?)","spec:","spec]","spec])","special","specifi","specification,","specification:","specs):","specs,","specs.","speed","speed:","spesif","spesification.","stabl","start","static","static,","stay","step","steps.","stest])","still","store","str","str)","str)})","string","string?","string?,","strings,","strings:","structur","str})))","stuff?","style","style)","sub","submap.","success","successfuli","suitabl","summari","sun.","super","support","swagger","swagger.","swagger/swagg","swagger2","swagger]","swagger])","swaggger","syntax","syntax,","syntax.","syntax:","system","system.","tabl","table.","tag","take","taken","target","terse,","test","test).","test,","tests,","thank","that'","them.","thing","things.","things.\"","third","this:","three","throw","thrown,","thrown:","thu","thus,","time","time),","time,","time.","tip","to,","to.","to:","todo","too).","too.","took","tool","tools.","tools.spec","top","total","total}}))})","total}}))}}]]","toward","transform","tree","tree,","tree.","tree:","trees,","trees.","tri","trickeri","trie","trivial","true","true).","truli","trust","tuned.","turn","two","two\"","two/swagger.json\"}","type","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","un","undelay","under","understand","unifi","unmount","unnam","unreachable.","until","unwrap","up","us","used.","user","user\"","user]","user]}}]","usual","uuid","uuid\"","uuid/:pag","uuid]","val:","valid","validation,","validation.","valu","var","varieti","vector","vector.","verbose.","verifi","version","version:","via","view","view,","view]))","view},","visual","want","want,","way","way,","way.","we'll","we'r","web","webjar","welcom","welcome!","well,","whole","why?","wild","wildcard","with:","with?","within","without","work","workflow","working.","worklfow","works,","wrap","wrap2","wrap3","wrap})","wrap}))","written","wrong","wrong.","wsgi","x","y)}})}}]]","y)}})}}]]]","y]}","yield","zero","zone","zone)","{\"/api/ping\"","{\"x\"","{200","{::middleware/transform","{::role","{::rs/explain","{:bodi","{:coercion","{:compani","{:compil","{:conflict","{:data","{:descript","{:get","{:handler","{:i","{:id","{:info","{:interceptor","{:middlewar","{:name","{:no","{:not","{:paramet","{:path","{:port","{:post","{:problem","{:produc","{:queri","{:request","{:role","{:router","{:schema","{:spec","{:statu","{:summari","{:swagger","{:tag","{:titl","{:total","{: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)\nExtendable\nModular\nFast\n\nModules:\n\nreitit-core - the routing core\nreitit-ring with data-driven middleware\nreitit-spec clojure.spec coercion\nreitit-schema Schema coercion\nreitit-swagger Swagger2 apidocs\nreitit-swagger-ui Integrated Swagger UI.\n\nTo use Reitit, add the following dependecy to your project:\n[metosin/reitit \"0.1.1\"]\n\nOptionally, the parts can be required separately:\n[metosin/reitit-core \"0.1.1\"]\n[metosin/reitit-ring \"0.1.1\"]\n[metosin/reitit-spec \"0.1.1\"]\n[metosin/reitit-schema \"0.1.1\"]\n[metosin/reitit-swagger \"0.1.1\"]\n[metosin/reitit-swagger-ui \"0.1.1\"]\n\nFor discussions, there is a #reitit channel in Clojurians slack.\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/":{"url":"basics/","title":"Basics","keywords":"","body":"Basics\n\nRoute Syntax\nRouter\nPath-based Routing\nName-based Routing\nRoute Data\nRoute Data Validation\nRoute Conflicts\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\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 a exception throwing version:\n(r/match-by-name! router ::user)\n; ExceptionInfo missing path-params for route /api/user/:id: #{:id}\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 attachted to them. This data is interpeted either by the client application or the Router via it's :coerce and :compile hooks. Route data format can be defined and validated with clojure.spec enabling a 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 colections 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\nMost routing libraries allow conflicting paths within a router. On lookup, the first match is used making rest of the matching routes effecively unreachable. This is not good, especially if route tree is merged from multiple sources.\nReitit resolves this by running explicit conflicit resolution when a Router is created. Conflicting routes are passed into a :conflicts callback. Default implementation throws ex-info with a descriptive message.\nExamples router with conflicting routes:\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\nBy default, ExceptionInfo is thrown:\n(r/router routes)\n; CompilerException clojure.lang.ExceptionInfo: Router contains conflicting routes:\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\nJust logging the conflicts:\n(r/router\n routes\n {:conflicts (comp println reitit/conflicts-str)})\n; Router contains conflicting routes:\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\n"},"coercion/":{"url":"coercion/","title":"Coercion","keywords":"","body":"Coercion\n\nCoercion Explained\nPlumatic Schema\nClojure.spec\nData-specs\n\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 an 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.\nNOTE: Currently, clojure.spec doesn't support runtime transformations via conforming, so one needs to wrap all specs into Spec Records to get the coercion working.\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;; need to wrap the primitives!\n(s/def ::company spec/string?)\n(s/def ::user-id spec/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\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"},"advanced/":{"url":"advanced/","title":"Advanced","keywords":"","body":"Advanced\n\nConfiguring Routers\nDifferent Routers\nRoute Validation\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/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\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"},"ring/":{"url":"ring/","title":"Ring","keywords":"","body":"Ring\n\nRing-router\nDefault handler\nStatic Resources\nDynamic Extensions\nData-driven Middleware\nPluggable Coercion\nRoute Data Validation\nCompiling Middleware\nSwagger Support\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.\n[metosin/reitit-ring \"0.1.1\"]\n\nRing-router adds support for handlers, middleware and routing based on :request-method. Ring-router is created with reitit.ring/router function. It uses a custom route compiler, creating a optimized data structure for handling route matches, with compiled middleware chain & handlers for all request methods. It also ensures that all routes have a :handler defined. reitit.ring/ring-handler is used to create a Ring handler out of ring-router.\nExample\nSimple Ring app:\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" handler])))\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 expanded routes shows the compilation results:\n(-> app (ring/get-router) (reitit/routes))\n; [[\"/ping\"\n; {:handler #object[...]}\n; #Methods{:any #Endpoint{:data {:handler #object[...]},\n; :handler #object[...],\n; :middleware []}}]]\n\nNote the compiled resuts as third element in the route vector.\nRequest-method based routing\nHandler are also looked under request-method keys: :get, :head, :patch, :delete, :options, :post or :put. Top-level handler is used if request-method based handler is not found.\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" {:name ::ping\n :get handler\n :post handler}])))\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"ok\"}\n\n(app {:request-method :put, :uri \"/ping\"})\n; nil\n\nName-based reverse routing:\n(-> app\n (ring/get-router)\n (reitit/match-by-name ::ping)\n :path)\n; \"/ping\"\n\nMiddleware\nMiddleware can be added with a :middleware key, either to top-level or under :request-method submap. It's value should be a vector value of the following:\n\nnormal ring middleware function handler -> request -> response\nvector of middleware function handler ?args -> request -> response and optinally it's args.\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\nAsync Ring\nAll built-in middleware provide both 2 and 3-arity and are compiled for both Clojure & ClojureScript, so they work with Async Ring and Node.js too.\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/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\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 (effecting 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.\nTransforming the middleware chain\nThere is an extra option in ring-router (actually, in the undelaying middleware-router): :reitit.middleware/transform to transform the middleware chain per endpoint. It sees the vector of compiled middleware and should return a new vector of middleware.\nAdding debug middleware between all other middleware\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 {::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\nReversing the middleware chain\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 {::middleware/transform reverse)})))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [3 2 1 :handler]}\n\nIdeas for the future\n\nRe-package all useful middleware into (optimized) data-driven Middleware\njust package or a new community-repo with rehosting stuff?\n\n\nSupport Keyword expansion into Middleware, enabling external Middleware Registries (duct/integrant/macchiato -style)\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/coercion.html":{"url":"ring/coercion.html","title":"Pluggable Coercion","keywords":"","body":"Pluggable Coercion\nBasic coercion is explained in detail in the Coercion Guide. With Ring, both request parameters (:query, :body, :form, :header and :path) and response :body can be coerced.\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 :parameters key and responses in :responses.\nBelow is an example with Plumatic Schema. It defines input schemas for :query, :body and :path parameters and a schema for a successful 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\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 in 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.1.1\"]\nReitit supports Swagger2 documentation, thanks to schema-tools and spec-tools. Documentation is extracted from route definitions, coercion :parameters and :responses and from a set of new documentation keys.\nTo enable swagger-documentation for a ring-router:\n\nannotate you 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. Must 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 spesification 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 spesification. To make things easy, there is a pre-integrated version of the swagger-ui as a separate module.\n[metosin/reitit-swagger-ui \"0.1.1\"]\nreitit.swagger-ui/create-swagger-ui-hander can be used to create a ring-handler to serve the swagger-ui. It accepts the following options:\n\n\n\nkey\ndescription\n\n\n\n\n:parameter\noptional name of the wildcard parameter, defaults to unnamed keyword :\n\n\n:root\noptional resource root, defaults to \"swagger-ui\"\n\n\n:url\npath to swagger endpoint, defaults to /swagger.json\n\n\n:path\noptional path to mount the handler to. Works only if mounted outside of a router.\n\n\n:config\nparameters passed to swaggger-ui, keys transformed into camelCase. 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 in a single swagger-api ::api\nswagger-spec served from \"/swagger.json\"\nswagger-ui mounted to \"/\"\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 \"ping\")}]\n [\"/pong\" {:post (constantly \"pong\")}]]\n [\"/swagger.json\"\n {:get {:no-doc true\n :handler (swagger/create-swagger-handler)}}]]\n {:data {:swagger {:id ::api}}}) ;; for all routes\n (swagger-ui/create-swagger-ui-handler {:path \"/\"})))\n\nThe generated swagger spec:\n(app {:request-method :get :uri \"/swagger.json\"})\n;{:status 200\n; :body {:swagger \"2.0\"\n; :x-id #{:user/api}\n; :paths {\"/api/ping\" {:get {}}\n; \"/api/pong\" {:post {}}}}}\n\nSwagger-ui:\n(app {:request-method :get :uri \"/\"})\n; ... the swagger-ui index-page, configured correctly\n\nMore complete example\n\nclojure.spec and Schema coercion\nswagger data (:tags, :produces, :consumes)\nswagger-spec served from \"/api/swagger.json\"\nswagger-ui mounted to \"/\"\nMuuntaja for request & response formatting\nwrap-params to capture query & path parameters\nmissed routes are handled by create-default-handler\nserved via ring-jetty\n\nWhole example project is in /examples/ring-swagger.\n(require '[reitit.ring :as ring]\n(require '[reitit.swagger :as swagger]\n(require '[reitit.swagger-ui :as swagger-ui]\n;; coercion\n(require '[reitit.ring.coercion :as rrc]\n(require '[reitit.coercion.spec :as spec]\n(require '[reitit.coercion.schema :as schema]\n(require '[schema.core :refer [Int]]\n;; web server\n(require '[ring.adapter.jetty :as jetty]\n(require '[ring.middleware.params]\n(require '[muuntaja.middleware]))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n {:swagger {:id ::math}}\n\n [\"/swagger.json\"\n {:get {:no-doc true\n :swagger {:info {:title \"my-api\"}}\n :handler (swagger/create-swagger-handler)}}]\n\n [\"/spec\"\n {:coercion spec/coercion\n :swagger {:tags [\"spec\"]}}\n\n [\"/plus\"\n {:get {:summary \"plus with spec\"\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\n [\"/schema\"\n {:coercion schema/coercion\n :swagger {:tags [\"schema\"]}}\n\n [\"/plus\"\n {:get {:summary \"plus with schema\"\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\n {:data {:middleware [ring.middleware.params/wrap-params\n muuntaja.middleware/wrap-format\n swagger/swagger-feature\n rrc/coerce-exceptions-middleware\n rrc/coerce-request-middleware\n rrc/coerce-response-middleware]\n :swagger {:produces #{\"application/json\"\n \"application/edn\"\n \"application/transit+json\"}\n :consumes #{\"application/json\"\n \"application/edn\"\n \"application/transit+json\"}}}})\n (ring/routes\n (swagger-ui/create-swagger-ui-handler\n {:path \"/\", :url \"/api/swagger.json\"})\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\nAdvanced\nRoute data in path [:swagger :id] can be either a keyword or a sequence of keywords. This enables one route to be part of multiple swagger apis. 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 \"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\ncreate a data-driven version of Muuntaja that integrates into :produces and :consumes\nClojureScript\nexample for Macchiato\nbody formatting\nresource handling\n\n\n\n"},"performance.html":{"url":"performance.html","title":"Performance","keywords":"","body":"Performance\nReitit tries to be both great in features and be really, really fast. Originally the routing was ported from Pedestal, but has been mostly rewritten to get even better performance.\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): 530 µs -> 1.9M 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 4-24x 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 new segment-tree algorithm, reitit-ring is fastest here. Pedestal is also fast with it's prefix-tree implementation.\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 really awesome (if true).\nPerformance tips\nFew things that have an effect on performance:\n\nWildcard-routes are an order of magnitude slower than static routes\nIt's ok to mix non-wildcard and wildcard routes in a same routing tree as long as you don't disable the conflict resolution => if no conflicting routes are found, a :mixed-router can be created, which internally has a fast static path router and a separate wildcard-router. So, the static paths are still fast.\nMove computation from request processing time into creation time, using by compiling middleware & route data.\nUnmounted middleware (or interceptor) is infinitely faster than a mounted one effectively doing nothing.\n\n\n\n"},"interceptors.html":{"url":"interceptors.html","title":"Interceptors (WIP)","keywords":"","body":"Interceptors (WIP)\nReitit has also support for Pedestal-style interceptors via reitit.interceptor package. Currently, there is no interceptor interpreter shipped, just a way to compose and manage the interceptor chains.\nPlan is to have a full-featured reitit-http module with same features as the reitit-ring - enchanced interceptor maps & interceptor compilations. Stay tuned.\nTODO\n\nFigure out how to make a truly portable Interceptor definitions, e.g. Pedestal has namespaced keys for context errors, queues etc.\nSeparate modules for interceptor interpreters (including cljs)\nFinalize reitit-http module as an alternative to reitit-ring\n\nExample\nCurrent reitit-http draft (with data-specs):\n(require '[reitit.http.coercion :as rhc])\n(require '[reitit.http :as http])\n(require '[reitit.coercion.spec])\n(require '[clojure.set :as set])\n\n(def auth-interceptor\n \"Interceptor that mounts itself if route has `:roles` data. Expects `:roles`\n to be a set of keyword and the context to have `[:user :roles]` with user roles.\n responds with HTTP 403 if user doesn't have the roles defined, otherwise no-op.\"\n {:name ::auth\n :compile (fn [{:keys [roles]} _]\n (if (seq roles)\n {:description (str \"requires roles \" roles)\n :spec {:roles #{keyword?}}\n :context-spec {:user {:roles #{keyword}}}\n :enter (fn [{{user-roles :roles} :user :as ctx}]\n (if (not (set/subset? roles user-roles))\n (assoc ctx :response {:status 403, :body \"forbidden\"})\n ctx))}))})(require '[clojure.set :as set])\n\n(def app\n (http/http-handler\n (http/router\n [\"/api\" {:interceptors [auth-interceptor]}\n [\"/ping\" {:name ::ping\n :get (constantly\n {:status 200\n :body \"pong\"})}]\n [\"/plus/:z\" {:name ::plus\n :post {:parameters {:query {:x int?}\n :body {:y int?}\n :path {:z int?}}\n :responses {200 {:body {:total pos-int?}}}\n :roles #{:admin}\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 {:coercion reitit.coercion.spec/coercion\n :interceptors [rhc/coerce-exceptions-interceptor\n rhc/coerce-request-interceptor\n rhc/coerce-response-interceptor]}})))\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.1.2\"]","\"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","channel","class","clojure(script).","clojure.spec","clojure.spec)","clojurian","coercion","compilation,","conflict","conj","core","data","dependeci","direct","discussions,","driven","dynam","exampl","extend","extens","fast","first","follow","functions,","handler","handler}]]])))","id","id)","id))","id)))","id]","id]]))","id}","id},","integr","introduct","match?","method","method.","middlewar","middleware,","modular","modules:","more.","name","nil","nil,","optionally,","param","paramet","part","path","pluggabl","project:","r])","reitit","reitit,","request)","requir","resolut","revers","ring","ring])","rout","router","router)","routing:","schema","separately:","simpl","slack.","spec","support","swagger","swagger2","syntax","true","ui","ui.","us","wrap","{:get","{:handler","{:id","{:middlewar","{:name","{:request","{:statu","{}"],"basics/":["base","basic","conflict","data","name","path","rout","router","syntax","valid"],"basics/route_syntax.html":["\"/\"","'add","'get","(*path).","(:id)","([\"/get","(condp","(cqr","(defn","(for","(name","(non","(str","::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","argument","arguments:","catch","child","cqr","creat","data,","defin","easi","exampl","flattened:","gener","id\"]","ignored.","interceptor))","interceptor]","it'","list","method","nest","nil","option","order\"","order]])","order]}}])]","paramet","parameter:","parameters:","path","programmatically:","rout","route:","routes.","routes:","same","sequential)","simpl","string","syntax","two","type","user\"","user]","user]}}]","vector","wrap","{: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/:id\"","\"/api/user/:id\",","\"1\"})","\"1\"}}","#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},",";","[\"/api\"","[\"/ping\"","[\"/user/:id\"","[:user/p","automat","base","booleans,","coerc","data","defined,","except","exceptioninfo","given","help","internal)","keyword","list","match","match?","miss","name","name!","name.","names:","nil","nil,","nil:","numbers,","objects:","param","paramet","parameters:","partialmatch","path","protocol","provid","r])","reitit.impl/intostring.","return","returned:","rout","route:","router","router)","router:","set,","strings,","support","throw","true","version:","{:id","{: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:","attacht","avail","back","behavior","both","case","client","clojure.spec","colect","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","interpet","it'","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":["'[reitit.cor","(comp","(def","(r/router","(requir","/:user","/:version/statu","/bulk/:bulk","/public/*path",":a",":conflict",";",">","[\"/:user","[\"/:version/status\"]])","[\"/bulk/:bulk","[\"/public/*path\"]","[[\"/ping\"]","allow","callback.","clojure.lang.exceptioninfo:","compilerexcept","conflicit","conflict","conflicts:","contain","created.","default","default,","descript","effec","especi","ex","exampl","exceptioninfo","explicit","first","good,","id","id\"]","id/ord","id/orders\"]","implement","info","librari","log","lookup,","make","match","merg","message.","multipl","pass","path","println","r])","reitit","reitit/conflict","resolut","resolv","rest","rout","router","router.","routes)","routes:","run","sources.","str)})","throw","thrown:","tree","unreachable.","us","within","{:conflict"],"coercion/":["clojure.spec","coercion","data","explain","plumat","schema","spec"],"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\"},","\"metosin\",","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[clojure.spec.alpha","'[reitit.coercion","'[reitit.coercion.spec])","'[reitit.cor","'[spec","(assoc","(coercion/coerce!","(def","(defn","(if","(match","(r/match","(r/router","(requir","(s/def","(s/key","123}}","::compani","::path","::user",":a",":coercion",":data",":paramet",":path",":req",":result",":user",":user/us",";",";;","=>",">","[\"/:company/users/:us","[::compani","[match","[path]","base","clojure.spec","coerce!","coercers}))","coercion","coercion/compil","coercion:","coercion])","conforming,","currently,","data","data,","destructur","doesn't","exceptioninfo","fail","failed...","gener","id","id\"","id\",","id]))","it,","librari","match","match))))","need","note:","on","param","params}},","params}}]","path","path)]","primitives!","r])","record","reitit.coercion.spec/coercion","request","router","runtim","s])","spec","spec.","spec/int?)","spec/string?)","spec])","specifi","structur","success","support","tools.spec","transform","un","valid","via","view","view,","working.","wrap","{:compani","{:compil","{:name","{:path"],"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"],"advanced/":["advanc","configur","differ","rout","router","valid"],"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/different_routers.html":["'[reitit.cor","(def","(r/router","(requir","::ping]","::users]]","::users]]))",":a",":linear",":lookup",":mix",":router",":segment",":singl",";","[\"/api/:users\"","[[\"/ping\"","ask","base","catch","configur","conflicts.","contain","creat","descript","differ","expand","fast","faster","found.","function","hash","implement","implementation.","implementation:","inspect","lookup","manual","match","much","name","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","{},"],"ring/":["coercion","compil","data","default","driven","dynam","extens","handler","middlewar","pluggabl","resourc","ring","rout","router","static","support","swagger","valid"],"ring/ring.html":["\"/api/admin/db\"})","\"/api/ping\"})","\"/favicon.ico\"})","\"/ping\"","\"/ping\"})","\"0.1.2\"]","\"ok\"}","\"ok\"})","#endpoint{:data","#methods{:ani","#object[...],","#object[...]}","#object[...]},","%","&","'[reitit.r","(","(app","(conj","(def","(defn","(fn","(fnil","(handler","(reitit/match","(reitit/routes))","(requir","(ring/get","(ring/r","(ring/rout","(updat","2","200,","3","::acc","::ping","::ping)",":a",":admin",":admin]]}",":api)]}",":bodi",":db",":db]]",":delet",":delete,",":delete]]",":get",":get,",":handler",":handler)})",":handler]}",":head,",":middlewar",":options,",":patch,",":path)",":post",":put,",":put.",":request",":uri",";",";;",">","?arg","[\"/admin\"","[\"/api\"","[\"/db\"","[\"/ping\"","[#(wrap","[::acc]}]","[:api","[[\"/ping\"","[[wrap","[])","[]}}]]","[_]","[handler","[metosin/reitit","[request]","[{:key","abstract","acc","ad","add","allow","api,","app","app:","appli","applic","applications,","args.","ariti","async","base","both","built","chain","clojur","clojurescript,","compil","compiler,","compon","conj","construct","correctly:","creat","custom","data","defined.","detail","element","ensur","exampl","expand","following:","found.","frameworks.","function","function.","handl","handler","handler:","handler]","handler])))","handlers,","handler}])))","handler}}]]])))","http","id))))","id]","inspir","it'","key,","keys:","level","librari","look","matches,","method","method.","methods.","middlewar","middleware:","modular","name","nest","nil","node.j","normal","note","optim","optin","out","provid","python'","rack.","reitit.ring/r","reitit.ring/rout","request","respons","results:","resut","revers","ring","ring])","rout","router","router)","router.","routing:","ruby'","servers,","share","show","simpl","simple,","structur","submap.","support","third","too.","top","under","unifi","us","valu","varieti","vector","vector.","web","work","wrap","wsgi","{:handler","{:middlewar","{:name","{:request","{:statu"],"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/static.html":["\"/\"})","\"/*\",","\"/assets/*\".","\"pong\"})]","\"pong\"})])","\"public\"","'[reitit.r","(clojur","(constantli","(requir","(ring/creat","(ring/r","(ring/rout","200,",":",":a",":bodi",":cache,",":etag,",":gzip",":index",":last",":loader",":paramet",":path",":root","[\"/*\"","[\"/assets/*\"","[\"/ping\"","[\"index.html\"]","[[\"/ping\"","actual","be","better","class","classpath.","clojurescript","compos","configur","conflict","default","descript","directory,","disabl","e.g.","extern","file","files.","good","handler","handler))","handler)))","handler)]]","handler)]])","handler.","index","intern","key","keyword","loader","locat","look","map","matched.","modified?,","mount","multipl","name","need","nil)})","non","none","on","only)","option","outsid","parameter,","path","paths,","reitit.ring/cr","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","(and","(app","(constantli","(def","(defn","(effect","(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","#(interleav","#{:session}","#{:user}","%","&","'[reitit.middlewar","'[reitit.r","(actually,","(app","(conj","(def","(defn","(duct/integrant/macchiato","(fn","(fnil","(handler","(middleware/cr","(of","(optimized)","(optional)","(repeat","(requir","(ring/r","(ring/rout","(updat","1","1]","2","200,","2]]}","3","3]]","::acc","::wrap2","::wrap3",":a",":bodi",":compil",":debug",":debug]))})))",":descript",":get,",":handler",":handler)})",":handler]}",":middlewar",":name",":provides.",":reitit.middleware/transform",":requir",":spec",":uri",":wrap",";","=>","[\"/api\"","[\"/ping\"","[1","[3","[::acc]}]","[[wrap","[[wrap3","[])","[handler","[request]","[wrap","[wrap2","[{:key","acc","access","actual","ad","against","againt","allowed.","api","app","appli","arbitrari","arg","authorizationmiddlewar","avail","between","chain","chain,","class","clojure.spec","commun","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","endpoint.","entri","etc.","expand","expans","extern","extra","first","follow","form","function","function,","function.","functions,","futur","good","handler","handler}}]]","handler}}]])))","hard.","id))))","id]","idea","ident","injectuserintorequestmiddlewar","inventories,","issu","it'","key","keys,","keyword","level","make","map","merg","method","middlewar","middleware)","middleware,","middleware.","middleware])","mount","name","new","normal","opaqu","optim","option","order.","packag","penalty.","per","performance.","processing,","produc","protocol.","provid","purpose:","qualifi","raw","re","record","registri","rehost","reitit","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","rel","repo","request","request.","requir","resolut","respons","response.","results,","return","revers","reverse)})))","ring","ring])","rout","router","router):","router.","runtim","see","set","special","stuff?","style","style)","support","thing","things.\"","thu","top","transform","type","undelay","understand","unwrap","us","valid","valu","vector","welcom","wrap","wrap2","wrap3","wrap})","wrap}))","wrong","yield","zero","{::middleware/transform","{:get","{:middlewar","{:name","{:request","{:statu"],"ring/coercion.html":["\"(constrain","\"(not","\"/api/ping\"})","\"/api/plus/3\"","\"1\"}","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"int\",","\"pong\"}","\"pong\"})}]","'[reitit.coercion.schema])","'[reitit.cor","'[reitit.r","'[reitit.ring.coercion","'[schema.cor","'positiveint))","(","(+","(:query,","(app","(def","(fn","(integer?","(let","(mapv","(positiveint","(r/match","(requir","(ring/get","(ring/r","(ring/rout","(s/constrain","10}})","200","200,","2}})","400,","500,","6))\"},","6},","6}}","::mw/coerc","::ping","::ping)","::plu","::plus)",":a",":bodi",":body,",":body.",":body]}}",":coercion",":error",":form,",":get",":get,",":handler",":header",":in",":middlewar",":name)))",":paramet",":path",":path)",":post",":queri",":query,",":reitit.coercion/request",":reitit.coercion/respons",":respons",":responses.",":result",":schema,",":type",":uri",":valu",":x)",":y)",":z))]",";",">",">>","[\"/api\"","[\"/ping\"","[\"/plus/:z\"","[::mw/coerc","[:request","[:respons","[]","[_]","[parameters]}]","[rrc/coerc","[total","[{:key","\\\"abba\\\"))\"},","access","actual","againt","also,","and/or","anything,","app","app)","appli","apply.","attach","basic","below","both","chain","clojure.spec","code","coerc","coerced.","coercer","coercion","coercion,","coercion.","compil","construct","data","data.","defin","defined,","defined.","defined:","detail","doesn't","done:","enabl","endpoint","exampl","except","explain","follow","full","guide.","handler","handler/middlewar","here'","implement","input","int","invalid","inventoried.","it'","itself","key","key.","method","middlewar","middleware:","middleware]}})))","models.","modules:","mount","multipl","name","need","normal","optim","param","paramet","params]}}","plu","pluggabl","plumat","pos?","positiveint","positiveint)\"},","positiveint}}}","pretti","protocol","queri","r])","read","reitit","reitit,","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coercion","reitit.ring.coercion:","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])","schema","schema.","schema:","scope","ship","singl","spec","step","success","thing","total}}))})","total}}))}}]]","transform","type","under","us","valid","within","without","{\"x\"","{200","{:bodi","{:coercion","{:data","{:i","{:middlewar","{:name","{:queri","{:request","{:schema","{:statu","{:total","{: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/pong\"","\"/api/swagger.json\"","\"/api/swagger.json\"})","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"0.1.2\"]","\"2.0\"","\"application/edn\"","\"application/transit+json\"}","\"application/transit+json\"}}}})","\"mi","\"ping\")}]","\"ping\")}])","\"plu","\"pong\")}]]","\"server","\"swagger","#'app","#{\"application/json\"","#{::one","#{:user/api}","&","'[muuntaja.middleware]))","'[reitit.coercion.schema","'[reitit.coercion.spec","'[reitit.r","'[reitit.ring.coercion","'[reitit.swagg","'[ring.adapter.jetti","'[ring.middleware.params]","'[schema.cor","(","(\"/common/ping\"","(+","(:tags,","(app","(constantli","(def","(defn","(fn","(jetty/run","(keyword","(println","(requir","(ring/creat","(ring/r","(ring/rout","(swagger","(swagger/cr","...","/examples/r","/swagger.json","2","200","3","3000\"))","3000,","4",":","::api","::api}}})","::math}}","::one","::one}}","::two","::two}}","::two}}}",":a",":bodi",":config",":consum",":consumes)",":descript",":get",":get,",":handler",":id",":id]",":join?",":no",":paramet",":parameters}]",":path",":produc",":produces,",":query}",":refer",":respons",":root",":summari",":swagger",":tag",":uri",":url",":x",":y",";",";;",";{:statu",">","[\"/api\"","[\"/deep\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/plus\"","[\"/pong\"","[\"/schema\"","[\"/spec\"","[\"/swagger.json\"","[\"/two\"","[\"schema\"]}}","[\"spec\"]}}","[:swagger","[[\"/api\"","[[\"/common\"","[]","[int]]","[metosin/reitit","[ring.middleware.params/wrap","[x","[{{{:key","accept","act","actual","advanc","annot","api","api\"}}","apis.","app","application.","apply.","argument","bodi","boolean","both","camelcase.","captur","classpath.","clojur","clojure.","clojure.spec","clojurescript","coercion","collect","complet","configur","contribut","correctli","creat","currently,","custom","data","data,","data.","default","defin","definitions,","descript","doc","docs:","document","documentation,","driven","easili","easy,","enabl","encod","endpoint","endpoint,","endpoint.","exampl","except","exclud","extract","false})","featur","feature,","file","follow","format","formatter.","gener","hander","handl","handler","handler))))","handler)}}]","handler)}}])","handler)}}]]","handler.","host","http://localhost:3000","http://spec.commonmark.org/","id","identifi","index","input","int,","int?,","int?}}","int?}}}","integr","interact","interceptor","interceptor.","interfac","int}}","int}}}","it'","jetti","jetty]","key","keys)","keys.","keyword","keywords)","keywords.","long","macchiato","make","map","method","middlewar","middleware]","miss","modul","module.","more","mount","multipl","muuntaja","muuntaja.middleware/wrap","name","need","new","normal","note:","now","on","on.","option","options:","outsid","page,","param","paramet","parameter,","part","particip","pass","path","ping","port","post","pr!","pre","process","project","queri","reitit","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:","rrc/coerc","rrc]","rule","run","same","schema","schema\"","schema/coercion","schema]","scope","see","separ","sequenc","serv","server","set","short","simpl","singl","spec","spec\"","spec,","spec/coercion","spec:","spec]","specification,","specification:","spesif","spesification.","start","store","string","summari","support","swagger","swagger.","swagger/swagg","swagger2","swagger]","swagger])","swaggger","tag","take","thank","thing","time","to.","todo","tool","tools.","transform","true","turn","two","two\"","two/swagger.json\"}","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","unnam","us","user","valid","version","via","visual","web","webjar","welcom","whole","wildcard","with:","work","wrap","x","y)}})}}]]","y)}})}}]]]","y]}","{\"/api/ping\"","{200","{:bodi","{:coercion","{:data","{:get","{:id","{:info","{:middlewar","{:no","{:path","{:port","{:post","{:produc","{:queri","{:request","{:statu","{:summari","{:swagger","{:tag","{:titl","{:total","{:x","{}}","{}}}}}"],"performance.html":["\"/auth/login\")))","\"/workspace/1/1\")))","&","'[criterium.cor","'[reitit.cor","(30x","(ataraxy,","(cc/quick","(def","(dotim","(if","(matches,","(micro","(or","(per","(r/match","(r/router","(real","(requir","(static","(wildcard",")benchmark","/api/command/add","1","1.9m","100","1000)","1000):","1000]","16","2,5","24x","256","3.2","300","312m","4","50+","500x","530","6",":",":a",":auth/login]",":auth/recovery]",":lookup",":mix",":request",":segment",":workspace/page]]))",";;","=>",">","[\"/auth/recovery/token/:token\"","[\"/workspace/:project/:page\"","[[\"/auth/login\"","[_","`lein","abstract","accur","actual","against.","algorithm,","algorithms,","also,","alway","anoth","api","ataraxi","average,","awesom","base","baselin","bench","benchmark.","best","better","better,","between","bide","bidi,","both","box","busi","but,","cach","cache:","card","case,","case.","cc])","chosen","ci","code","compil","compojur","comput","conflict","contain","core","core):","cores:","cqr","created,","creation","data.","definit","definitions.","degrade.","depends.","differ","disabl","do","don't","e.g.","effect","enabl","ensur","environment.","error.","errors.","even","exampl","execut","fail","fallback","fast","fast.","faster","fastest","featur","few","first","flatten","follow","found","found,","function","gb","ghz","go","go.","great","handl","handler.","have","help","here.","http","i7","idea","identifier:","immut","implementation.","indic","infinit","inlin","intel","interceptor)","interceptors,","intern","invok","it'","jvm","kb","know.","l2","l3","larg","large!","lib","librari","libs.","life","life)","life,","long","look","lookup","lot","lot.","lupapiste.","macbook","macbookpro11,3","magnitud","magnitude.","manag","map","match","matter","matter?","mb","mean","measur","measure?","memory:","method","mid","middlewar","middleware,","mix","model","more","mostli","mount","move","much","multimethod","multipl","mutabl","name:","need","new","nice","non","not.","notabl","note:","nothing.","ns","number","ok","on","opensensor","ops/sec","optim","order","order.","origin","out","over","parameters.","path","path)","path.","pedest","pedestal).","pedestal,","perf","perform","performance,","performance.","performance:","pleas","poke","port","possibl","precompute/compil","prefix","present.","pro","process","processor","processors:","proof","protocol","pull","quick","r])","rational","re","readme:","real","realistic.","realli","really,","record","regress","reitit","repl","repl`","repo","request","resolut","rest","rest(ish)","result","rewritten","ring","rout","router","router,","router.","router:","routers.","routes)","routes,","run","same","sampl","scenario","scientif","second","segment","separ","serv","setup:","shine","simpl","site","size","slower","slowest","small","snappi","so,","someth","speed:","stabl","start","static","static,","still","style","swagger","tabl","take","taken","test","test).","test,","tests,","thank","thing","three","time","time,","tip","total","tree","tree,","tree.","trees,","tri","true).","trust","two","unmount","us","usual","view","want","welcome!","well,","wild","wildcard","work","µs","µs."],"interceptors.html":["\"","\"forbidden\"})","\"interceptor","\"pong\"})}]","\"requir","#{:admin}","#{keyword?}}","#{keyword}}}","&","'[clojure.set","'[reitit.coercion.spec])","'[reitit.http","'[reitit.http.coercion","(","(+","(assoc","(constantli","(def","(fn","(http/http","(http/router","(if","(includ","(let","(not","(requir","(seq","(set/subset?","(str","(wip)","(with","200","403","403,","::auth","::ping","::plu",":a",":bodi",":compil",":context",":enter",":get",":handler",":interceptor",":path",":post",":queri",":respons",":role",":roles]`",":roles}",":spec",":user",":x)",":y)",":z))]",">","[\"/api\"","[\"/ping\"","[\"/plus/:z\"","[auth","[parameters]}]","[rhc/coerc","[roles]}","[total","[{:key","[{{user","_]","`:roles`","`[:user","altern","app","auth","chains.","cljs)","compilations.","compos","context","ctx","ctx))}))})(requir","ctx}]","current","currently,","data","data.","defined,","definitions,","doesn't","draft","e.g.","enchanc","errors,","etc.","exampl","except","expect","featur","figur","final","full","handler","http","http])","int?}","int?}}","int?}}}","interceptor","interceptor]}","interceptor]}})))","interpret","itself","key","keyword","make","manag","map","modul","mount","namespac","op.\"","otherwis","out","package.","paramet","pedest","plan","po","portabl","queue","reitit","reitit.coercion.spec/coercion","reitit.interceptor","request","respond","respons","rhc/coerc","rhc])","ring","role","roles)","roles))","roles.","rout","same","separ","set","set])","shipped,","spec","specs):","stay","style","support","todo","total}}))}}]]","truli","tuned.","user","via","way","{200","{:bodi","{:coercion","{:data","{:descript","{:i","{:interceptor","{:name","{:paramet","{:queri","{:role","{:statu","{:total","{:user","{:x","{:z"],"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":33},"tokenStore":{"root":{"0":{"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":{}}},"1":{"0":{"0":{"0":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"2":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},"docs":{}},"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"}":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}},".":{"9":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{}}},"2":{"0":{"0":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},",":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}},"docs":{}},"4":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"5":{"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}}}},",":{"5":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}}},"3":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"1":{"2":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{}},"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}}},".":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}}},"4":{"0":{"0":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"3":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},",":{"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"4":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.022222222222222223}}}},"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":{}},"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"5":{"0":{"0":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{},"%":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"+":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"3":{"0":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}},"docs":{}},"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"docs":{},"\"":{"0":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},"\"":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.018229166666666668},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"docs":{}}},"docs":{}}},"1":{"2":{"3":{"docs":{},"\"":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"docs":{}},"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"}":{"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.011049723756906077}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}},".":{"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.0012224938875305623}}}},"docs":{}}},"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"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.005208333333333333}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"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.0026041666666666665}}}}}},"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.0026041666666666665}}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"2":{"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.005208333333333333}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"}":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"3":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585}}}},"docs":{}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"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.011049723756906077}},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}},"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.011049723756906077}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}}}}},"n":{"docs":{},"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":{}}},"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.0012224938875305623}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}},"\"":{"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}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"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}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"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.007067137809187279},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}}}}},":":{"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.006172839506172839},"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.006172839506172839},"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.006172839506172839},"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.006172839506172839},"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.0026041666666666665}}}}}}}}}}}}}}}},"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.00975609756097561}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}}}}}}},"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.0012224938875305623}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}},"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.0024449877750611247}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}}}}}}},"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.0017921146953405018}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"}":{"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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}}}}}}}},"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.0035335689045936395}}}}}}}}}}}}}},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}},"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}}}}}}}}}}}}}}},"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":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}}}}}}}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"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.004640371229698376},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}}},"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":{}}}}}}},"\"":{"docs":{},"}":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667}},")":{"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}}}}}}},"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}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},")":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}},"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}},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}},"(":{"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.0018975332068311196}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"+":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"#":{"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.013020833333333334},"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.016574585635359115},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"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.0026041666666666665}}}}}},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}},"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.0026041666666666665}}}}}}}}}}}}}}}},"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}}}}}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}}},"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.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"{":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}},"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.01060070671378092},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007067137809187279}}}},"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.002320185614849188}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"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.0024449877750611247}}}}}}},"}":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"?":{"docs":{},"}":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},"r":{"docs":{},"/":{"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}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}},":":{"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}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"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}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"'":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"[":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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.006172839506172839},"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"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.003795066413662239}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"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}},"]":{"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.006112469437652812}}}}}}},"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.002320185614849188}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}},"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}},"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.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}}}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}}}}}}}},"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.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}},"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":{}}},"m":{"docs":{},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"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.003795066413662239}}}}}}}}}}}}}}}},"(":{"3":{"0":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.018975332068311195},"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.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"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":{},"i":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"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}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}},".":{"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":{},"d":{"docs":{},"p":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/static.html":{"ref":"ring/static.html","tf":0.01951219512195122},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"j":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},"m":{"docs":{},"p":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"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.006172839506172839},"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}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},".":{"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":{}}}}}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"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.0055248618784530384}}}}}}}},"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.0035842293906810036}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"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.01160092807424594},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.006112469437652812},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"n":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"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.004640371229698376},"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.0012224938875305623}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.038461538461538464}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"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.0035842293906810036}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"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.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"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}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}},"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.0234375},"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.03867403314917127},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"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.014388489208633094},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0078125},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.030864197530864196},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0234375},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.0171990171990172},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013282732447817837},"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.018337408312958436},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.01639344262295082}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/static.html":{"ref":"ring/static.html","tf":0.01951219512195122},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.02926829268292683},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"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}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}},"t":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"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.0017921146953405018}}}}}},"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},"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.003795066413662239}}}}}}}}}}},"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.018518518518518517},"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.006172839506172839},"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":{},"t":{"docs":{},"!":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"/":{"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"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}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}}}}}}},"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"*":{"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.006369426751592357}}}}}}}}},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},".":{"docs":{},".":{"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}}}}}}}}}}},"n":{"docs":{"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.006369426751592357}}}}},"o":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"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.012345679012345678},"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.0017921146953405018}}}}}}}},"p":{"docs":{},"v":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}},"i":{"docs":{},"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.002320185614849188}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"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.002320185614849188}}}}}}},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}},"r":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"f":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"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.0035335689045936395}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}}}},"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.0035335689045936395}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"#":{"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}}}}}}}},"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.006172839506172839},"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},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}},"n":{"docs":{},"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.0018975332068311196}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":5.004098360655738}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"?":{"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}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"+":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"p":{"docs":{},"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.0018975332068311196}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}}}},"\"":{"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.003667481662591687}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},":":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"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.006369426751592357}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0078125}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.018518518518518517}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"s":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"c":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.011049723756906077},"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.018518518518518517},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"]":{"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.0055248618784530384}}}}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.011049723756906077}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}},"s":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}},")":{"docs":{},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}},"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}}}}}}}},"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}}}}}}}}}}}},"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.006172839506172839}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"s":{"docs":{},"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}}}}}}}}}},"t":{"docs":{},"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":{}}}}}},"w":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"docs":{}}}}},"m":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}}}}},"a":{"docs":{"./":{"ref":"./","tf":0.0078125},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"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.014669926650366748},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.020491803278688523}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"z":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}},"p":{"docs":{},"i":{"docs":{},"]":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},"}":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},")":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"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.0017921146953405018},"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.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.030360531309297913},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"interceptors.html":{"ref":"interceptors.html","tf":0.020491803278688523},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.015625},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"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.017595307917888565}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"e":{"docs":{},"v":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"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.0078125}}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}},"]":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}},"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.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014583333333333334},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}}},"x":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"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}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}}},"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":{}},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.028645833333333332},"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.03867403314917127},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.014134275618374558},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"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.0035335689045936395}}}}}}},"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}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"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.006172839506172839},"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.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.015625},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"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.0035335689045936395}}}}}},"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}}}}}}}}}},"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/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}},"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.0018975332068311196}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"s":{"docs":{},"]":{"docs":{},"`":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"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/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"o":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}}}}}}}},"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.006172839506172839},"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.011049723756906077}},"]":{"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.0055248618784530384}}}},"]":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}},"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}}}}}}}},"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":{}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},".":{"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.0017921146953405018}}}},"]":{"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.006369426751592357}}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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.0035335689045936395},"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}},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.007194244604316547},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}},"i":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}},"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":{},"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}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875}}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011385199240986717},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}},"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.003795066413662239}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"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.003795066413662239}},"t":{"docs":{},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},"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":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"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":{},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}},"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.003795066413662239}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01440329218106996},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"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.0125}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}}}}}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"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.003795066413662239}}}}},"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":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"y":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"z":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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}}}}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.09635416666666667},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.025477707006369428},"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.1270718232044199},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.07420494699646643},"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.17266187050359713},"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.05555555555555555},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.2727272727272727},"ring/ring.html":{"ref":"ring/ring.html","tf":0.03125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.03795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009779951100244499}},";":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"performance.html":{"ref":"performance.html","tf":0.02867383512544803},"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":{},"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":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"{":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},">":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.05755395683453238},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.015180265654648957},"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.003667481662591687},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},">":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}},"[":{"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.004640371229698376}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"docs":{},"\"":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}},"p":{"docs":{},"i":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01910828025477707},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00823045267489712},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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.0026041666666666665}}}}}}}}}}}}},":":{"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.006369426751592357}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125}}}}}}}}},"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.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.004878048780487805}}}}}}}}}},"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.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"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.006369426751592357},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}}},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"z":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"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.0055248618784530384}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547}}}}}},"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.007194244604316547}}}}}}}}}}}}}}}}}}}},"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.006172839506172839},"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.007194244604316547}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}},"n":{"docs":{},"s":{"2":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}},"docs":{}}},"*":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}},"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}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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.003667481662591687}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"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":{}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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.0026041666666666665},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"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.006369426751592357}}}}}}}}},"\"":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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.0017921146953405018},"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.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}},"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.006369426751592357}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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.0026041666666666665}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}},"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"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.006369426751592357}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}},"[":{"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.0035842293906810036}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"]":{"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}}}}}}}}}},"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.018229166666666668},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"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}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"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/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},":":{"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.012738853503184714}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"p":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"c":{"docs":{},"c":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"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}}}}}}}}},"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.006172839506172839}}}}}}}}},"m":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}},"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.012738853503184714}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},"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.0018975332068311196}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"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}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"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.006369426751592357}}}}}}}}},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"i":{"docs":{},"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.006369426751592357}}}}}}}}}}}}}}}}},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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.012738853503184714}},"]":{"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.006172839506172839},"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":{},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}},"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.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"%":{"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":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}}},"}":{"docs":{},")":{"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.0026041666666666665}}}}}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"#":{"docs":{},"(":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},"{":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"{":{"docs":{},"{":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635}}},"docs":{"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.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.020833333333333332}}}}}},"c":{"docs":{},"o":{"docs":{},"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}}}}}}}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"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/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"advanced/":{"ref":"advanced/","tf":10.142857142857142},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"p":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"p":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"y":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"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.0012224938875305623}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"u":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"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/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"s":{"docs":{},"s":{"docs":{"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"r":{"docs":{},"g":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.0035335689045936395},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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.0035335689045936395}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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.002320185614849188}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"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.0055248618784530384}}}}}},"h":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},":":{"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}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"n":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"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.0018975332068311196}}}}}}}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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}}}}}},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"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.002320185614849188}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.007168458781362007}}}}},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"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.002320185614849188}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"s":{"docs":{},"k":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"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}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}}}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"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}}}}}}},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/":{"ref":"basics/","tf":0.11764705882352941},"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.338858195211786},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"i":{"docs":{},"c":{"docs":{"basics/":{"ref":"basics/","tf":10.058823529411764},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"c":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.0017921146953405018}}},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"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}}}}}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},"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.0035335689045936395},"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/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"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.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},".":{"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.0017921146953405018}}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}},"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.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}}},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"d":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"development.html":{"ref":"development.html","tf":0.018867924528301886}}},"d":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"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.0035842293906810036}}}},"s":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"m":{"docs":{},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"g":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}},"i":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.01160092807424594},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"s":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"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.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"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.0026041666666666665}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"coercion/":{"ref":"coercion/","tf":0.125},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":10.018518518518519},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},".":{"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}}}}}}}}}}}}}}}},"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}}}},"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":{},":":{"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.007194244604316547},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}}}}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.0035335689045936395}}}}}},"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}}}}}},"j":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}},"s":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"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.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011385199240986717},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"coercion/":{"ref":"coercion/","tf":10.25},"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.018518518518518517},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.032258064516129},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.026392961876832845},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374}},")":{"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.0056925996204933585}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}},"]":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},":":{"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.012345679012345678},"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.018518518518518517},"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.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02346041055718475}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},"d":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"m":{"docs":{},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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.013921113689095127},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.0146627565982405},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"s":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"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.007194244604316547},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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.0026041666666666665}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"s":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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.002320185614849188}}}}},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"e":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},".":{"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}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"u":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},"o":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.043165467625899},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.01951219512195122},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"s":{"docs":{},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},"!":{"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.01875}}}}},"i":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}},"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":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.019230769230769},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"j":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"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.014388489208633094},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"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.0024449877750611247}},"e":{"docs":{},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"d":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"s":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"l":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/router.html":{"ref":"basics/router.html","tf":0.03636363636363636},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},":":{"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},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"c":{"docs":{},"]":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"t":{"docs":{},"x":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}},"}":{"docs":{},"]":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.013020833333333334},"basics/":{"ref":"basics/","tf":0.11764705882352941},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.031802120141343},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.349794238683127},"coercion/":{"ref":"coercion/","tf":0.125},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.028846153846153848},"ring/":{"ref":"ring/","tf":0.09523809523809523},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.3472544470224284},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"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.012224938875305624},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.012711864406779662}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.006172839506172839},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.012345679012345678},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}}}}}},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017077798861480076},"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.003667481662591687}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},")":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"i":{"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.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.022222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.03902439024390244},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"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.002320185614849188}}},"s":{"docs":{},":":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}}}},"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.007194244604316547},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}}}}},"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.006172839506172839},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},",":{"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.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}},"i":{"docs":{},"d":{"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}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.0125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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.3379737045630313},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"o":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"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}},":":{"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.0018975332068311196}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"'":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"c":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008557457212713936}},"s":{"docs":{},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"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.0012224938875305623}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"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}}}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}},"c":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"e":{"docs":{},"x":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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.0026041666666666665},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"s":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"r":{"docs":{},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"r":{"docs":{},"a":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"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.0012224938875305623}}}}}}},"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.014134275618374558},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/":{"ref":"coercion/","tf":0.125},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":5.001766784452297},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"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},"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}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"s":{"docs":{"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.0055248618784530384},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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.0055248618784530384},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"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}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"l":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"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}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"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}}}}}},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"s":{"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.0012224938875305623}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"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.0017921146953405018}}}}}}}}}}}}},"/":{"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":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},",":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"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}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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.005208333333333333},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"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},"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"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.006172839506172839},"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.012285012285012284},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"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.006172839506172839},"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}}}}}},"l":{"docs":{},"s":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"q":{"docs":{"faq.html":{"ref":"faq.html","tf":10}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.007194244604316547},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"l":{"docs":{},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03902439024390244},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},"s":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"x":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}},"r":{"docs":{},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"a":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"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.007067137809187279},"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/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.057692307692307696},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.017811704834605598},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.01160092807424594},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},".":{"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.0035335689045936395},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}},".":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}},"l":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"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.0017921146953405018}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"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.0012224938875305623}}}}}}}},"w":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"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}}}},"r":{"docs":{},"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":{},"n":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.036458333333333336},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.04},"ring/static.html":{"ref":"ring/static.html","tf":0.03414634146341464},"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.013921113689095127},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.013447432762836185},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"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.0026041666666666665}}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},"]":{"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.0026041666666666665}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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}}}}}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},")":{"docs":{},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"]":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"/":{"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.0018975332068311196}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"s":{"docs":{},"h":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}},"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.002320185614849188}}},"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},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"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.0055248618784530384},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"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.0035335689045936395}}}}}},"r":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0018975332068311196}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"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.0012224938875305623}}}}},"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":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.01639344262295082},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"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.0012224938875305623}}},"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.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"i":{"7":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02877697841726619},"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.018518518518518517},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.005208333333333333}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}},"\"":{"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.006172839506172839},"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.006369426751592357},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},",":{"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.006172839506172839},"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.002320185614849188},"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.0035335689045936395}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"f":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"a":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.014388489208633094}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":5.045081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}},"p":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10.002604166666666}}}}}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}}},"?":{"docs":{},"}":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}},"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}}}}},"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":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"i":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"f":{"docs":{},"o":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}},"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}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"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.003795066413662239}},":":{"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.0018975332068311196}}}},"s":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}},"o":{"docs":{},"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}}}}}}}}},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232}}}}},"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.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"i":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},"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.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"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.006369426751592357}}}}}}}}},"t":{"docs":{},"'":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"e":{"docs":{},"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}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"?":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},".":{"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.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"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.00625},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}}}}}}},"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":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"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.016574585635359115},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.014388489208633094},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"?":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},",":{"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}}},"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.004878048780487805}}}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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}},")":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"k":{"docs":{},"e":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},"a":{"docs":{},"g":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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.0012224938875305623}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"p":{"docs":{},"r":{"docs":{},"o":{"1":{"1":{"docs":{},",":{"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"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.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/ring.html":{"ref":"ring/ring.html","tf":0.028645833333333332},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.006112469437652812},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}}}},"r":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}},"a":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},"e":{"docs":{},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"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.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/":{"ref":"ring/","tf":0.09523809523809523},"ring/ring.html":{"ref":"ring/ring.html","tf":0.03125},"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.4122196442382053},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.022770398481973434},"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.004889975550122249},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}},"/":{"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.0055248618784530384},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"development.html":{"ref":"development.html","tf":0.05660377358490566},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}}},"e":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"s":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}},"r":{"docs":{},"e":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008557457212713936},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},".":{"docs":{},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"v":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.015625},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.05454545454545454},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.3775322283609572},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"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.0055248618784530384}}},".":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"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.0055248618784530384}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"i":{"docs":{},"v":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0234375},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.011049723756906077},"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.0055248618784530384}}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},")":{"docs":{},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"]":{"docs":{},"]":{"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.004878048780487805}}}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"c":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"e":{"docs":{},"d":{"docs":{"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.012345679012345678},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"w":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}}}}}}},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"t":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},":":{"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.006172839506172839},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"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.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"w":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.022900763358778626},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"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":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.04807692307692308},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/router.html":{"ref":"basics/router.html","tf":0.02727272727272727},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.05365853658536585},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.012224938875305624}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"m":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}}},".":{"docs":{},"\"":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},")":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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/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.004878048780487805}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"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.0055248618784530384}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"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}}}},"u":{"docs":{},"t":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.015625},"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.027624309392265192},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011385199240986717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"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.011049723756906077},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.026565464895635674},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"s":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"}":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}},",":{"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.0012224938875305623}}}}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"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}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.025477707006369428},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249},"performance.html":{"ref":"performance.html","tf":0.010752688172043012},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"]":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"]":{"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"s":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"s":{"docs":{},"s":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}},"e":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"g":{"docs":{},"g":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.001897533206831},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"coercion/":{"ref":"coercion/","tf":0.125},"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.003795066413662239}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"n":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"r":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},":":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"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.006369426751592357}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"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.007067137809187279},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"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":{"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.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.002320185614849188}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"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.002320185614849188}},"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}}}}}}}}}},"o":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"t":{"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}},"l":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"!":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}}}},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"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}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"i":{"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},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"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.0017921146953405018}}}}}}},"c":{"docs":{},"o":{"docs":{},"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.0017921146953405018}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"!":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"e":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.012544802867383513}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":10.007168458781361},"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.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}},"o":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}},"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.003795066413662239}},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}}}}}}}},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"k":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"s":{"docs":{},"h":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}},"l":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}},"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.005208333333333333},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007194244604316547},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"e":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.018229166666666668},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.010752688172043012},"interceptors.html":{"ref":"interceptors.html","tf":0.02459016393442623},"faq.html":{"ref":"faq.html","tf":0.05084745762711865}},",":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.007067137809187279}},")":{"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":{"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}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}}},"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.0056925996204933585}}}}}}}}}}}}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}}}}},"/":{"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.003795066413662239}}}}}}}},"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.0055248618784530384}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}},"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.0012224938875305623}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"c":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},".":{"docs":{},"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.0018975332068311196}}}}}}}}}}},"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}}}}}}}}}}}}}}}}},"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/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}}}}},"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.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"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.007194244604316547}}}}}}}}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}},"q":{"docs":{},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.018229166666666668},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"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.004889975550122249},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047}},")":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"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":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}},"}":{"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"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.004640371229698376},"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}},"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.0026041666666666665},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"v":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/static.html":{"ref":"ring/static.html","tf":5.048780487804878},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017077798861480076},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.04398826979472141},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"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}}},"]":{"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.002320185614849188}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"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.002932551319648094}}}}}}},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"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.0017921146953405018}},"s":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}}}}}},"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.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},",":{"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.0035335689045936395}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013921113689095127},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}}}}},"a":{"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.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},"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}}}},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"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":{"performance.html":{"ref":"performance.html","tf":0.007168458781362007}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"l":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},"e":{"docs":{},"v":{"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},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"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}}}}},"p":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"a":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"`":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"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}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"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.0012224938875305623}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/":{"ref":"ring/","tf":10.095238095238095},"ring/ring.html":{"ref":"ring/ring.html","tf":5.03125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"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.006112469437652812},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"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/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.018229166666666668},"basics/":{"ref":"basics/","tf":0.35294117647058826},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.089171974522293},"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.360957642725598},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.053003533568905},"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.0503597122302155},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.019434628975265017},"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.1346153846153846},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.04375},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.031941031941032},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.04834605597964377},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.018229166666666668},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"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.02444987775061125},"performance.html":{"ref":"performance.html","tf":0.05017921146953405},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.07627118644067797}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.033854166666666664},"basics/":{"ref":"basics/","tf":0.058823529411764705},"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.04419889502762431},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.038869257950530034},"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.02877697841726619},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/":{"ref":"advanced/","tf":0.2857142857142857},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.038461538461538},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":5.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.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333}},":":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}},":":{"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.0055248618784530384},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},"s":{"docs":{},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},":":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742}}},"s":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02158273381294964},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},":":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}},",":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},",":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.01875},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.010416666666666666},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}},")":{"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}}}}}}}},"o":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.01639344262295082}},"s":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"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}}}}}},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"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.0035335689045936395},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}}},"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},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"development.html":{"ref":"development.html","tf":0.018867924528301886}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"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.004640371229698376},"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.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"b":{"docs":{},"y":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"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}}}}}},"h":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}}}},"]":{"docs":{},")":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0078125},"coercion/":{"ref":"coercion/","tf":0.125},"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.0056925996204933585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"/":{"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.0012224938875305623}}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"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.0017921146953405018}}}}}}}},"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.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}},"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"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.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}},"]":{"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},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"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.009280742459396751},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"r":{"docs":{},"v":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03902439024390244},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007334963325183374},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"development.html":{"ref":"development.html","tf":0.018867924528301886}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"d":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"e":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"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/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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.0017921146953405018}}}},"z":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665}}}}}},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.005376344086021506}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.018518518518518517},"coercion/":{"ref":"coercion/","tf":0.125},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"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.014669926650366748},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"?":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"?":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"s":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},")":{"docs":{},":":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"a":{"docs":{},"n":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.004889975550122},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.014830508474576272}}}}}},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"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.0026041666666666665}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"docs":{"./":{"ref":"./","tf":0.013020833333333334},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.059902200488998},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"/":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.006369426751593},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},",":{"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.00211864406779661}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}},".":{"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.006369426751592357},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}},"t":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.011049723756906077}}},":":{"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/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}},"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.0018975332068311196}},"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}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"ring/":{"ref":"ring/","tf":0.047619047619047616},"ring/static.html":{"ref":"ring/static.html","tf":5.019512195121951},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"y":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"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.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"?":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"]":{"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.006172839506172839},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"}":{"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}}}}},"*":{"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}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"h":{"docs":{},"i":{"docs":{},"p":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"n":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}},"p":{"docs":{},"e":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"o":{"docs":{},"w":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"l":{"docs":{},"i":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"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},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"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.0035335689045936395}}},"s":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"w":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},"/":{"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.0012224938875305623}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"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},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.0035335689045936395},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"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.007194244604316547},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"n":{"docs":{},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"e":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}}},"e":{"docs":{},"m":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},"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.004640371229698376}}}}}}},"s":{"docs":{},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"r":{"docs":{},"d":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"a":{"docs":{},"t":{"docs":{},"'":{"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.005376344086021506},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}},")":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"p":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}}}},"o":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}}}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},")":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"d":{"docs":{},"o":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"u":{"docs":{},"r":{"docs":{},"n":{"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/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.023297491039426525},"development.html":{"ref":"development.html","tf":0.03773584905660377}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.019559902200488997}},".":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"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.007067137809187279},"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.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.00975609756097561},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.0024449877750611247},"performance.html":{"ref":"performance.html","tf":0.007168458781362007},"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.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714}}}}}}},"d":{"docs":{},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"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.006172839506172839},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}},"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}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"docs":{"./":{"ref":"./","tf":0.0026041666666666665},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"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.002320185614849188},"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.0024449877750611247}},"}":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},".":{"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}}}}}}}},"a":{"docs":{},"y":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},".":{"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.004878048780487805}}}},"n":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"y":{"docs":{},"?":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"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},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"l":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.0125},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.008960573476702509},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"development.html":{"ref":"development.html","tf":0.018867924528301886},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839}}}}}},"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}}}}}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"e":{"docs":{},"'":{"docs":{},"l":{"docs":{},"l":{"docs":{"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}}}},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"l":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}},"{":{"2":{"0":{"0":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"docs":{}},"docs":{}},"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279},"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.0069605568445475635},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009779951100244499},"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.0026041666666666665},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.026748971193415638},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875}}}}}}}}},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"d":{"docs":{"./":{"ref":"./","tf":0.0078125},"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.022099447513812154},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008557457212713936},"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.03821656050955414},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0176678445229682},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0078125},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01910828025477707},"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.013921113689095127},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.013020833333333334},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"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.022099447513812154},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"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.012345679012345678},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115}}}}},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"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.0069605568445475635},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007590132827324478},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006112469437652812}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01060070671378092},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.014634146341463415},"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.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013282732447817837},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.012295081967213115}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239}}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009779951100244499}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}},"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.0012224938875305623}}}}}}},"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.024691358024691357},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"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/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}}}}}}}}}}}}}}}}}}}}}},"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.007194244604316547},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}}}},"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.012345679012345678},"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.006172839506172839},"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.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"r":{"docs":{},"i":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.015180265654648957},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004889975550122249},"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}},"x":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009487666034155597},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"z":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875}}}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.005208333333333333},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.007067137809187279}},")":{"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":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}},"\"":{"docs":{},"x":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0056925996204933585}}}},"/":{"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.0012224938875305623}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/":{"ref":"basics/","tf":0.058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"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.006172839506172839},"advanced/":{"ref":"advanced/","tf":0.14285714285714285},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.025},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.002457002457002},"ring/":{"ref":"ring/","tf":0.047619047619047616},"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.002320185614849188},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.345833333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"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}}},",":{"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.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376}}}},"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.0026041666666666665}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.012738853503184714},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}}}},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"development.html":{"ref":"development.html","tf":0.03773584905660377}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"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}}}}}}}}},"i":{"docs":{},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"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.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},",":{"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.006172839506172839},"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.0024449877750611247}}}}}}}},"=":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357}},">":{"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},"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.006172839506172839},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.057692307692307696},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"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.006369426751592357},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.006172839506172839},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687}}}}}},"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.0055248618784530384}}}}},"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},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"o":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}},":":{"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.0017921146953405018}}}},"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.0018975332068311196}}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"h":{"docs":{},"z":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}}},"l":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.006369426751592357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547},"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.006172839506172839},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018},"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.0017921146953405018}}}}},"n":{"docs":{},"k":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"f":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"t":{"docs":{},"'":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"s":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}},"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.007194244604316547}},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"o":{"docs":{},"k":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"u":{"docs":{},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.00625},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.007168458781362007}},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.007194244604316547}}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805}}},"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.0012224938875305623},"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"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.0055248618784530384}}}}}}}}}}},"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.0017921146953405018}}}}}}}}}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.014388489208633094}}}}}},"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.02877697841726619}}}}}}}}}}}}}}}},"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.02877697841726619}}}}}}}}}}}},"p":{"docs":{},"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.02877697841726619}}}}}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}}},"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.0012224938875305623}}}}}}}}}}}}}}},"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},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.009280742459396751},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003795066413662239},"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.007334963325183374},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0055248618784530384},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/static.html":{"ref":"ring/static.html","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.004640371229698376},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003667481662591687},"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}},"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.003667481662591687}}}},":":{"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.0018975332068311196},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}},"^":{"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.0035335689045936395}}}}}}}}},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{"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.007067137809187279}}}}}}}},"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}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},"y":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}},"v":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}}}},"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},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828},"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}},")":{"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}}},".":{"docs":{},".":{"docs":{},".":{"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},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"/":{"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":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"`":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.00819672131147541}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"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}}}}}}}}}},".":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}},"[":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"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.002320185614849188},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}},"u":{"docs":{},"e":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"i":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}}}},"|":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01646090534979424}}},"y":{"docs":{},"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.002320185614849188},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0012224938875305623}}}}}}}}}}},"]":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}}}},"!":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257}}},"?":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.0026041666666666665}}}}},"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}}}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.002320185614849188}}}}},"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}}}}}}},"\\":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\\":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0018975332068311196}}}}}}}}}}}}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0024449877750611247}}},")":{"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.0017921146953405018}}}}}}}}}}}},"µ":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0035842293906810036}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0017921146953405018}}}}},"_":{"docs":{},"]":{"docs":{"interceptors.html":{"ref":"interceptors.html","tf":0.004098360655737705}}}}},"length":4545},"corpusTokens":["!","\"","\"\"}","\"\"})","\"\"})))","\"(constrain","\"(not","\"/\"","\"/\"))","\"/\")))","\"/\"))))","\"/\",","\"/\"})","\"/\"})))","\"/*\",","\"/:company/users/:us","\"/api\"","\"/api\",","\"/api/admin/db\"})","\"/api/admin/ping\",","\"/api/admin/ping\"})","\"/api/admin/users\"})","\"/api/internal/users\"})","\"/api/ipa\")","\"/api/ns2/more/bar\")","\"/api/ns2/more/bar\",","\"/api/ns2/more/bar\"}","\"/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/swagger.json\"","\"/api/swagger.json\"})","\"/api/user/1\"","\"/api/user/1\")","\"/api/user/:id\"","\"/api/user/:id\",","\"/assets/*\".","\"/auth/login\")))","\"/favicon.ico\"})","\"/hello\")","\"/invalid\"})","\"/metosin/users/123\")","\"/metosin/users/123\"))","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"/metosin/users/ikitommi\"))","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/ping\"","\"/ping\")","\"/ping\"}","\"/ping\"})","\"/pong\"})","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"/users/:id\"","\"/workspace/1/1\")))","\"0.1.2\"]","\"0.4.0\"]","\"1\"}","\"1\"})","\"1\"}}","\"1.0.0\"","\"123\"},","\"2.0\"","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"application/edn\"","\"application/transit+json\"}","\"application/transit+json\"}}}})","\"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\"],","\"forbidden\"}","\"forbidden\"})","\"identity\"","\"identity\",","\"identity\"},","\"identity\"}]","\"identity\"}])","\"identity\"}}})},","\"ikitommi\"))}}","\"index.html\")])","\"int\",","\"interceptor","\"kosh\"}","\"kosh\"})","\"kosh\"})})))","\"metosin\",","\"mi","\"middlewar","\"ok\",","\"ok\"}","\"ok\"})","\"ok\"}))","\"ping\")}]","\"ping\")}])","\"plu","\"pong\")}]]","\"pong\"}","\"pong\"})]","\"pong\"})])","\"pong\"})}]","\"public\"","\"requir","\"server","\"swagger","\"tenant1\"","#","#'app","#'reitit.core/rout","#(interleav","#(r/router","#(respond","#(slurp","#:clojure.spec.alpha{:problem","#coercionerror{:schema","#endpoint{:data","#match{:templ","#methods{...}","#methods{:ani","#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[user$handler]}","#partialmatch{:templ","#reitit","#{\"application/json\"","#{::one","#{:admin","#{:adminz}}","#{:adminz}},","#{:adminz}}]","#{:adminz}}}})},","#{:admin}","#{:admin}}","#{:admin}})","#{:admin}}}]]","#{:admin}}}]]]","#{:db","#{:id}","#{:id}}","#{:manager}","#{:manager}}","#{:public","#{:session}","#{:user/api}","#{:user}","#{keyword?}}","#{keyword}}}","#{route}}","#{})","#{}))","%","%)","%))","%))))","&","'())","'[clojure.set","'[clojure.spec.alpha","'[clojure.spec.test.alpha","'[criterium.cor","'[expound.alpha","'[muuntaja.middleware]))","'[ns1])","'[ns2])","'[reitit.coercion","'[reitit.coercion.schema","'[reitit.coercion.schema])","'[reitit.coercion.spec","'[reitit.coercion.spec])","'[reitit.cor","'[reitit.http","'[reitit.http.coercion","'[reitit.middlewar","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.spec","'[reitit.spec","'[reitit.spec])","'[reitit.swagg","'[ring.adapter.jetti","'[ring.middleware.params]","'[schema.cor","'[spec","'add","'get","'positiveint))","(","(\"/common/ping\"","(#reitit.spec.problem{:path","()","(*","(*path).","(+","(30x","(:api","(:get,","(:id)","(:query,","(:reitit.coercion/request","(:request","(:requir","(:tags,","(?","([\"/api\"","([\"/get","([...","([request","([request]","(actually,","(and","(app","(assoc","(ataraxy,","(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/coerc","(coercion/coerce!","(coercion/respons","(coll","(comp","(compiled)","(condp","(conj","(constantli","(context","(core.clj:4739)","(cqr","(current","(data)","(def","(default","(defn","(defprotocol","(defrout","(done","(dotim","(duct/integrant/macchiato","(effect","(expand","(extend","(fn","(fnil","(for","(get","(handler","(http/http","(http/router","(human","(if","(includ","(integer?","(java.io.file.","(jetty/run","(keyword","(let","(mapv","(match","(matches,","(micro","(middleware/cr","(n","(name","(nilabl","(no","(non","(not","(ns1/routes)]])","(ns2/routes)]","(of","(ok","(onli","(optimized)","(option","(optional)","(or","(per","(positiveint","(println","(r/expand","(r/match","(r/partial","(r/rout","(r/router","(real","(records,","(reitit","(reitit/match","(reitit/routes))","(repeat","(requir","(respons","(reverse)","(ring/creat","(ring/get","(ring/r","(ring/rout","(rout","(router","(router)","(routes)))","(routes))))","(s/coll","(s/constrain","(s/def","(s/explain","(s/key","(s/merg","(s/valid?","(schema","(seq","(set!","(set/subset?","(simple)","(some","(start","(static","(stest/instru","(str","(swagger","(swagger/cr","(updat","(via","(wildcard","(wip)","(with","(wrap","({:path",")benchmark","+","...","...,","...])","./scripts/lein","./scripts/set","./scripts/test.sh","/:user","/:version/statu","/api/command/add","/api/user/:id:","/bulk/:bulk","/examples/r","/public/*path","/swagger.json","0]}),","0x15b59b0e","0x7461744b","1","1.9m","100","1000)","1000):","1000]","10}})","123}}","16","1]","1})","2","2,5","200","200,","24x","256","2]]}","2})","2},","2}})","3","3.2","30","300","3000\"))","3000,","312m","3]]","4","400,","403","403,","404,","405,","406,","50%","50+","500,","500x","530","6","6))\"},","6},","6}}",":","::acc","::admin]","::admin}]","::api","::api}}})","::auth","::bar","::bar])","::coerc","::compani","::db]","::db]]","::db]}","::db}]","::ipa)","::kikka)","::math}}","::mw/coerc","::one","::one}}","::order","::path","::ping","::ping)","::ping))","::ping]","::ping]]","::ping]])","::ping}","::ping}]","::ping}]]","::plu","::plus)","::pong}]]","::role","::roles)]","::rs/default","::rs/explain","::rs/respons","::spec/raw","::tenant1])","::two","::two}}","::two}}}","::user","::user)","::user))","::user]]))","::users]","::users]]","::users]]))","::users}","::wrap2","::wrap3","::zone",":a",":admin",":admin]]}",":adminz,",":admin}",":api)]}",":api]]",":api]]}",":append,",":arg",":auth/login]",":auth/recovery]",":bodi",":body,",":body.",":body]}}",":cache,",":child",":clojure.spec.alpha/spec",":clojure.spec.alpha/valu",":coerc",":coercion",":coercion)",":command",":compil",":compile.",":config",":conflict",":consum",":consumes)",":context",":data",":db",":db]]",":debug",":debug]))})))",":delet",":delete,",":delete]]",":descript",":dev",":displac",":enter",":error",":etag,",":expand",":form,",":get",":get,",":gzip",":handler",":handler)})",":handler]}",":head,",":header",":id",":id))))}",":id]",":in",":index",":interceptor",":intern",":internal}",":internal})",":into",":join?",":last",":let",":linear",":loader",":lookup",":manager}",":manager})",":manager},",":method",":middlewar",":mix",":name",":name)))",":no",":not",":ns1/bar",":ns1/bar},",":opt",":options,",":opts)]",":page",":paramet",":parameters.",":parameters}]",":patch,",":path",":path)",":path.",":path]",":post",":post)]]",":post,",":pred",":prepend,",":problem",":produc",":produces,",":provides.",":public",":public}",":put,",":put.",":queri",":query,",":query}",":refer",":reitit.coercion/request",":reitit.coercion/respons",":reitit.middleware/transform",":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)",":responses.",":result",":role",":roles]`",":roles}",":root",":rout",":router",":schema,",":scope",":secure]]}",":segment",":singl",":spec",":summari",":swagger",":tag",":token]",":type",":uri",":url",":user",":user/ord",":user/ping}",":user/ping}]",":user/rol",":user/role:",":user/role],",":user/roles)),",":user/roles:",":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)]",";",";#reitit.core.match{:templ",";;",";[\"/bar\"",";the",";{:statu","=","=>",">",">>","?","?arg","?intomiddleware.","[\"\"","[\"/\"","[\"/*\"","[\"/:company/users/:us","[\"/:user","[\"/:version/status\"]])","[\"/add","[\"/admin\"","[\"/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\"","[\"/bulk/:bulk","[\"/db\"","[\"/deep\"","[\"/internal\"","[\"/more\"","[\"/ns2\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/ping\"]","[\"/pizza\"","[\"/plus\"","[\"/plus/:z\"","[\"/pong\"","[\"/pong\"]]","[\"/public\"","[\"/public/*path\"]","[\"/schema\"","[\"/spec\"","[\"/swagger.json\"","[\"/two\"","[\"/user/:id\"","[\"/users\"","[\"/users/:id\"","[\"/workspace/:project","[\"/workspace/:project/:page\"","[\"index.html\"]","[\"pong\"]]])","[\"schema\"]}}","[\"spec\"]}}","[\"tenant1\"","[\"workspace/\"","[#(wrap","[%]","[...","[0]","[1","[1]","[3","[::acc]}]","[::admin],","[::admin]}","[::api","[::api]","[::api]}","[::compani","[::db]","[::mw/coerc","[::roles]","[::roles])","[::zone])","[:api","[:command","[:handler]","[:handler],","[:handler]}),","[:reitit.spec/default","[:reitit.spec/nam","[:request","[:respons","[:rout","[:routes]","[:swagger","[:user/p","[:user/rol","[:user/roles],","[[\"/api\"","[[\"/api/admin\"","[[\"/api/ping\"","[[\"/api/public/ping\"","[[\"/auth/login\"","[[\"/common\"","[[\"/ping\"","[[\"/ping\"]","[[\"/users/:us","[[\"auth/login\"","[[\"auth/recovery/token/\"","[[#object[user$wrap]","[[:queri","[[[:project","[[type","[[wrap","[[wrap3","[]","[])","[]))","[],","[]}),","[]}}]]","[_","[_]","[actions]","[add","[auth","[coercer","[coercion","[expound","[file","[get","[handler","[handler]","[id","[int]]","[interceptor]}}])])","[match","[method","[metosin/reitit","[parameters]}]","[path","[path]","[reitit.cor","[request]","[requir","[respons","[rhc/coerc","[ring.middleware.params/wrap","[roles]}","[rrc/coerc","[thi","[this])","[total","[wrap","[wrap2","[x","[zone","[{:key","[{{user","[{{{:key","\\\"abba\\\"))\"},","^:replac","^^^^^^","^^^^^^^","_]","`:admin`,`:manager`","`:roles`","`:user/roles`","`[:user","`lein","`reitit.coercion/coercion`","`reitit/router)","abil","about.","abstract","acc","accept","access","accident","accumul","accur","act","action","actual","ad","adapt","add","admin}}]]","admin}}]]]))","advanc","again","again:","against","against.","againt","algorithm,","algorithm.","algorithms,","allow","allowed.","alreadi","also,","altern","alternative,","alway","and/or","annot","anonym","anoth","another.","anything,","any},","api","api\"}}","api,","apidoc","apis.","app","app)","app:","appli","applic","application.","applications,","applied.","apply.","approaches,","apps,","arbitrari","architectur","arg","args.","argument","argument:","arguments:","ariti","around","ask","astut","async","at:","ataraxi","attach","attacht","auth","author","authorizationmiddlewar","automat","avail","average,","awesom","awesome.","back","back.","base","baselin","basic","be","befor","behav","behavior","behind","below","bench","benchmark.","best","better","better,","better.","between","bi","bide","bidi","bidi,","bidi.","bidi:","bidi?","bit","blown","bodi","bonus,","boolean","booleans,","bootstrapping:","both","box","box.","build","built","bump","busi","but,","cach","cache:","call","callback.","camelcase.","captur","card","case","case,","case.","catch","cc])","chain","chain,","chains.","chang","channel","child","chosen","ci","class","classpath.","clean,","cleanli","cli","client","clj","cljs)","clojar","clojur","clojure(script)","clojure(script).","clojure,","clojure.","clojure.core/ex","clojure.core/fn?,","clojure.core/string?","clojure.lang.exceptioninfo:","clojure.spec","clojure.spec)","clojure.spec.alpha/explain","clojure.specs.","clojurescript","clojurescript,","clojurescript.","clojurian","closur","code","code,","coerc","coerce!","coerced.","coercer","coercers.","coercers}))","coercion","coercion)","coercion,","coercion.","coercion/compil","coercion:","coercion])","colect","collect","common","commun","compil","compilation,","compilation.","compilations.","compiled.","compiler,","compilerexcept","compiling:","compiling:(/users/tommi/projects/metosin/reitit/test/cljc/reitit/spec_test.cljc:151:1)","complet","compojur","compojure,","compojure.","compojure:","compojure?","compon","components.","compos","composit","comput","configur","conflicit","conflict","conflicts!)","conflicts.","conflicts:","conform","conforming,","conj","consid","construct","contain","context","contrari","contribut","contribute?","core","core):","cores:","correct","correct,","correctli","correctly:","cqr","creat","created,","created.","creation","creation:","crude","ctx","ctx))}))})(requir","ctx}]","current","currently,","custom","data","data)","data,","data.","data:","db","db)","debug","debug.","decid","declar","default","default,","defaults:","defin","defined).","defined,","defined.","defined:","definit","definitions,","definitions.","degrade.","demonstr","depend","dependeci","depends.","deploy","descript","design,","destructur","detail","details.","detect","dev","dev,","develop","developement,","developement.","differ","differences:","differenti","differently,","direct","directory,","disabl","discuss","discussions,","dispatch","do","doc","docs:","document","documentation,","doesn't","don't","done","done.","done:","downsid","draft","driven","driven,","duct","dure","dynam","e.g.","e/expound","e])","easi","easier","easili","easy,","effec","effect","element","enabl","enchanc","encod","endpoint","endpoint,","endpoint.","endpoints.","enforc","enough","ensur","entri","environment.","error","error.","error:","errors,","errors.","especi","etc.","etc.)","even","everyth","ex","exact","exampl","except","exceptioninfo","exclud","execut","exist","expand","expans","expect","explain","explicit","explicitli","expos","expound","expound/printer)","expound])","extend","extens","extensions.","extern","extra","extract","fail","failed...","failed:","fails,","fallback","fals","false})","faq","fast","fast,","fast.","faster","faster.","fastest","featur","feature,","felt","few","figur","file","file)","files.","final","first","fix","flatten","flattened:","fn?","follow","following:","form","format","formatter.","found","found,","found.","frameworks.","frankli","free","frequent","frontend","full","fulli","fun","function","function,","function.","functions,","functions.","futur","g","gb","gener","ghz","gitbook","gitbook.","given","go","go.","go:","goal","goe","good","good,","good:","great","guard","guide.","hacki","hander","handl","handler","handler))","handler)))","handler))))","handler)]]","handler)]])","handler)}}]","handler)}}])","handler)}}]]","handler.","handler/middlewar","handler:","handler]","handler])","handler])))","handler]]]]","handlers,","handler}","handler}]","handler}])))","handler}]]","handler}]]])","handler}]]])))","handler}}]]","handler}}]])))","handler}}]]]","handler}}]]])))","hard","hard.","harder","hash","have","help","helper","here","here'","here.","higher","hinder","hit","hoc","hold","hook","hook)","hooks.","host","http","http://localhost:3000","http://spec.commonmark.org/","http])","i7","id","id\"","id\",","id\"]","id)","id))","id)))","id))))","id/ord","id/orders\"]","id]","id]))","id]]))","idea","ident","identifi","identifier:","identity,","identity]","identity]}","identity}]","identity}}]]","identity}}]]))","id}","id},","ignor","ignored.","immut","implement","implementation.","implementation:","implicit","implicitli","in:","inde","index","indic","infinit","influenc","info","inform","information:","initi","inject","injectuserintorequestmiddlewar","inlin","input","inspect","inspir","instal","instanc","instead","instruct","instrument","int","int,","int?,","int?}","int?}}","int?}}}","int?}}},","int?}}}]","integr","intel","interact","interceptor","interceptor)","interceptor))","interceptor.","interceptor]","interceptor]}","interceptor]}})))","interceptors,","interfac","intern","internal)","interpet","interpret","introduct","int}}","int}}}","int}}},","invalid","invalid:","inventoried.","inventories,","invocation.","invok","issu","issues.","it'","it,","it.","it?","iterations.","itself","java.io.fil","java.lang.string,","jetti","jetty]","join","jvm","kb","key","key,","key.","key:","keys)","keys,","keys.","keys:","keyset.","keyword","keywords)","keywords.","know","know.","known","l2","l3","larg","large!","leaf","lein","less","let'","level","level,","lib","librari","library?","libs.","life","life)","life,","link","list","loader","local","locally:","locat","log","log]","long","look","lookup","lookup,","lot","lot.","lupapiste.","macbook","macbookpro11,3","macchiato","machin","macro","magical.","magnitud","magnitude.","main","make","manag","mani","manual","map","map.","maps.","margin","match","match)","match))))","match,","match.","match:","match?","matched)","matched),","matched,","matched.","matches,","matter","matter?","mb","mean","measur","measure?","memory:","merg","merge.","message.","meta","method","method.","methods.","micro","mid","middlewar","middleware)","middleware,","middleware.","middleware/interceptor","middleware:","middleware]","middleware])","middleware]}","middleware]}})))","miss","missing:","mix","model","models.","modified?,","modul","modular","module.","module:","modules:","more","more.","mostli","mount","mount.\"","move","much","multimethod","multipl","mutabl","muuntaja","muuntaja.middleware/wrap","naiv","name","name!","name.","name:","name]","name])","names:","namespac","namespace,","namespace.","namespaces.","name},","need","nest","new","nice","nice,","nil","nil).","nil)]])","nil)})","nil,","nil.","nil:","nil]","node.j","non","none","normal","not.","notabl","note","note:","nothing.","nothing.\"","notic","now","npm","ns","ns1","ns1)","ns1,","ns1/rout","ns1/routes]])","ns2)","ns2/routes]","ns3)","ns3.","number","numbers,","objects:","of:","ok","on","on.","on:","onc","once,","only)","op.\"","opaqu","opensensor","ops/sec","opt","optim","optin","option","option,","optionally,","options)))","options.","options:","options]","opts)]","opts]","order","order\"","order.","order]])","order]}}])]","origin","otherwis","out","out*","outsid","over","overal","overrid","overridden","packag","package.","page,","param","paramet","parameter,","parameter:","parameters.","parameters:","params]))","params]}}","params}},","params}}]","paremet","pars","part","part.","partialmatch","partialmatch,","particip","pass","path","path)","path)]","path.","path])","paths,","pattern","pedest","pedestal).","pedestal,","pedestal:","pedestal?","penalty.","per","perf","perfect.","perform","performance,","performance.","performance:","ping","pizza","place.","plan","pleas","plu","pluggabl","plumat","po","poke","port","portabl","pos?","positiveint","positiveint)\"},","positiveint}}}","possibl","possible,","post","power","powerful.","pr!","practic","pre","precompute/compil","predicate:","prefix","present","present.","present:","pretti","preview","primitives!","principl","print","println","pro","problem","problem.","problem:","problems.","process","processing,","processing.","processor","processors:","prod","produc","product","production.","programmatically:","project","project:","projects.","proof","protocol","protocol)","protocol,","protocol.","protocol:","proven","provid","public","pull","purpose:","push","python'","qualifi","queri","question","queue","quick","quit","r","r/expand","r/linear","r])","r]))","rack.","raise))))))","raise)))))))})","raise]","rational","raw","re","read","readabl","readable)","reader","readi","readme:","real","realistic.","realli","really,","reason","reasoning:","recompil","record","recurs","recursive.","registri","regress","rehost","reitit","reitit,","reitit.","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coerce!","reitit.coercion/coercion","reitit.coercion/compil","reitit.cor","reitit.core/expand","reitit.core/expand)","reitit.core/match","reitit.core/rout","reitit.core/router:","reitit.core/throw","reitit.impl/intostring.","reitit.interceptor","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","reitit.ring.coercion:","reitit.ring.spec/valid","reitit.ring/cr","reitit.ring/get","reitit.ring/r","reitit.ring/rout","reitit.spec","reitit.spec/valid","reitit.swagg","reitit.swagger.swagg","reitit.swagger/cr","reitit/conflict","reitit:","rel","relat","relev","reload","render","repl","repl`","replac","repo","represent","representation.","request","request)","request)))","request)))))","request))))})","request.","request:","request}]","requir","required)","resolut","resolution:","resolv","resourc","respond","responess,","respons","response))","response)))","response.","response:","response]","responses)","responses,","responses:","responses]}","rest","rest(ish)","result","results,","results:","resut","retriev","return","returned,","returned:","reus","reuse)","revers","reverse)})))","rewritten","rhc/coerc","rhc])","ring","ring,","ring/creat","ring:","ring]","ring])","roadmap","role","roles)","roles))","roles)))","roles.","roles:","roles]","roles]}","roles]}]","roles]}]]","roles]}})))","root","root,","rout","route))))","route,","route.","route:","route]","route]]","route]])))","router","router)","router):","router,","router.","router:","routers,","routers.","routers:","router}))","routes)","routes))","routes):","routes,","routes.","routes:","routing)","routing,","routing.","routing:","rrc/coerc","rrc]","rrc])","rrs/valid","rrs])","rs/valid","rs])","ruby'","rule","run","runtim","s/*explain","s/int","s/int}","s/int}}","s/int}}}]","s/int}}}]))","s/key","s/str","s])","same","same.","sampl","satisfi","scenario","scene","schema","schema\"","schema.","schema/coercion","schema:","schema]","scientif","scope","search","second","seconds,","see","segment","select","separ","separately:","sequenc","sequenti","sequential)","serv","served.","server","servers,","set","set,","set])","setup:","sever","shape","share","shine","ship","shipped,","short","show","side","sight","silent","similar","simpl","simple,","singl","site","size","slack","slack.","slow,","slower","slowest","small","snappi","so,","solut","someth","source:","sources.","span","spec","spec!","spec!})","spec\"","spec,","spec.","spec/coercion","spec/int?)","spec/string?)","spec:","spec]","spec])","special","specifi","specification,","specification:","specs):","specs,","specs.","speed","speed:","spesif","spesification.","stabl","start","static","static,","stay","step","steps.","stest])","still","store","str","str)","str)})","string","string?","string?,","strings,","strings:","structur","str})))","stuff?","style","style)","sub","submap.","success","successfuli","suitabl","summari","sun.","super","support","swagger","swagger.","swagger/swagg","swagger2","swagger]","swagger])","swaggger","syntax","syntax,","syntax.","syntax:","system","system.","tabl","table.","tag","take","taken","target","terse,","test","test).","test,","tests,","thank","that'","them.","thing","things.","things.\"","third","this:","three","throw","thrown,","thrown:","thu","thus,","time","time),","time,","time.","tip","to,","to.","to:","todo","too).","too.","took","tool","tools.","tools.spec","top","total","total}}))})","total}}))}}]]","toward","transform","tree","tree,","tree.","tree:","trees,","trees.","tri","trickeri","trie","trivial","true","true).","truli","trust","tuned.","turn","two","two\"","two/swagger.json\"}","type","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","un","undelay","under","understand","unifi","unmount","unnam","unreachable.","until","unwrap","up","us","used.","user","user\"","user]","user]}}]","usual","uuid","uuid\"","uuid/:pag","uuid]","val:","valid","validation,","validation.","valu","var","varieti","vector","vector.","verbose.","verifi","version","version:","via","view","view,","view]))","view},","visual","want","want,","way","way,","way.","we'll","we'r","web","webjar","welcom","welcome!","well,","whole","why?","wild","wildcard","with:","with?","within","without","work","workflow","working.","worklfow","works,","wrap","wrap2","wrap3","wrap})","wrap}))","written","wrong","wrong.","wsgi","x","y)}})}}]]","y)}})}}]]]","y]}","yield","zero","zone","zone)","{\"/api/ping\"","{\"x\"","{200","{::middleware/transform","{::role","{::rs/explain","{:bodi","{:coercion","{:compani","{:compil","{:conflict","{:data","{:descript","{:get","{:handler","{:i","{:id","{:info","{:interceptor","{:middlewar","{:name","{:no","{:not","{:paramet","{:path","{:port","{:post","{:problem","{:produc","{:queri","{:request","{:role","{:router","{:schema","{:spec","{:statu","{:summari","{:swagger","{:tag","{:titl","{:total","{: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)\nExtendable\nModular\nFast\n\nModules:\n\nreitit-core - the routing core\nreitit-ring with data-driven middleware\nreitit-spec clojure.spec coercion\nreitit-schema Schema coercion\nreitit-swagger Swagger2 apidocs\nreitit-swagger-ui Integrated Swagger UI.\n\nTo use Reitit, add the following dependecy to your project:\n[metosin/reitit \"0.1.2\"]\n\nOptionally, the parts can be required separately:\n[metosin/reitit-core \"0.1.2\"]\n[metosin/reitit-ring \"0.1.2\"]\n[metosin/reitit-spec \"0.1.2\"]\n[metosin/reitit-schema \"0.1.2\"]\n[metosin/reitit-swagger \"0.1.2\"]\n[metosin/reitit-swagger-ui \"0.1.2\"]\n\nFor discussions, there is a #reitit channel in Clojurians slack.\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/":{"url":"basics/","title":"Basics","keywords":"","body":"Basics\n\nRoute Syntax\nRouter\nPath-based Routing\nName-based Routing\nRoute Data\nRoute Data Validation\nRoute Conflicts\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\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 a exception throwing version:\n(r/match-by-name! router ::user)\n; ExceptionInfo missing path-params for route /api/user/:id: #{:id}\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 attachted to them. This data is interpeted either by the client application or the Router via it's :coerce and :compile hooks. Route data format can be defined and validated with clojure.spec enabling a 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 colections 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\nMost routing libraries allow conflicting paths within a router. On lookup, the first match is used making rest of the matching routes effecively unreachable. This is not good, especially if route tree is merged from multiple sources.\nReitit resolves this by running explicit conflicit resolution when a Router is created. Conflicting routes are passed into a :conflicts callback. Default implementation throws ex-info with a descriptive message.\nExamples router with conflicting routes:\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\nBy default, ExceptionInfo is thrown:\n(r/router routes)\n; CompilerException clojure.lang.ExceptionInfo: Router contains conflicting routes:\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\nJust logging the conflicts:\n(r/router\n routes\n {:conflicts (comp println reitit/conflicts-str)})\n; Router contains conflicting routes:\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\n"},"coercion/":{"url":"coercion/","title":"Coercion","keywords":"","body":"Coercion\n\nCoercion Explained\nPlumatic Schema\nClojure.spec\nData-specs\n\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 an 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.\nNOTE: Currently, clojure.spec doesn't support runtime transformations via conforming, so one needs to wrap all specs into Spec Records to get the coercion working.\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;; need to wrap the primitives!\n(s/def ::company spec/string?)\n(s/def ::user-id spec/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\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"},"advanced/":{"url":"advanced/","title":"Advanced","keywords":"","body":"Advanced\n\nConfiguring Routers\nDifferent Routers\nRoute Validation\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/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\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"},"ring/":{"url":"ring/","title":"Ring","keywords":"","body":"Ring\n\nRing-router\nDefault handler\nStatic Resources\nDynamic Extensions\nData-driven Middleware\nPluggable Coercion\nRoute Data Validation\nCompiling Middleware\nSwagger Support\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.\n[metosin/reitit-ring \"0.1.2\"]\n\nRing-router adds support for handlers, middleware and routing based on :request-method. Ring-router is created with reitit.ring/router function. It uses a custom route compiler, creating a optimized data structure for handling route matches, with compiled middleware chain & handlers for all request methods. It also ensures that all routes have a :handler defined. reitit.ring/ring-handler is used to create a Ring handler out of ring-router.\nExample\nSimple Ring app:\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" handler])))\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 expanded routes shows the compilation results:\n(-> app (ring/get-router) (reitit/routes))\n; [[\"/ping\"\n; {:handler #object[...]}\n; #Methods{:any #Endpoint{:data {:handler #object[...]},\n; :handler #object[...],\n; :middleware []}}]]\n\nNote the compiled resuts as third element in the route vector.\nRequest-method based routing\nHandler are also looked under request-method keys: :get, :head, :patch, :delete, :options, :post or :put. Top-level handler is used if request-method based handler is not found.\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" {:name ::ping\n :get handler\n :post handler}])))\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"ok\"}\n\n(app {:request-method :put, :uri \"/ping\"})\n; nil\n\nName-based reverse routing:\n(-> app\n (ring/get-router)\n (reitit/match-by-name ::ping)\n :path)\n; \"/ping\"\n\nMiddleware\nMiddleware can be added with a :middleware key, either to top-level or under :request-method submap. It's value should be a vector value of the following:\n\nnormal ring middleware function handler -> request -> response\nvector of middleware function handler ?args -> request -> response and optinally it's args.\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\nAsync Ring\nAll built-in middleware provide both 2 and 3-arity and are compiled for both Clojure & ClojureScript, so they work with Async Ring and Node.js too.\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/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\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 (effecting 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.\nTransforming the middleware chain\nThere is an extra option in ring-router (actually, in the undelaying middleware-router): :reitit.middleware/transform to transform the middleware chain per endpoint. It sees the vector of compiled middleware and should return a new vector of middleware.\nAdding debug middleware between all other middleware\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 {::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\nReversing the middleware chain\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 {::middleware/transform reverse)})))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [3 2 1 :handler]}\n\nIdeas for the future\n\nRe-package all useful middleware into (optimized) data-driven Middleware\njust package or a new community-repo with rehosting stuff?\n\n\nSupport Keyword expansion into Middleware, enabling external Middleware Registries (duct/integrant/macchiato -style)\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/coercion.html":{"url":"ring/coercion.html","title":"Pluggable Coercion","keywords":"","body":"Pluggable Coercion\nBasic coercion is explained in detail in the Coercion Guide. With Ring, both request parameters (:query, :body, :form, :header and :path) and response :body can be coerced.\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 :parameters key and responses in :responses.\nBelow is an example with Plumatic Schema. It defines input schemas for :query, :body and :path parameters and a schema for a successful 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\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 in 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.1.2\"]\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 you 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. Must 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 spesification 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 spesification. To make things easy, there is a pre-integrated version of the swagger-ui as a separate module.\n[metosin/reitit-swagger-ui \"0.1.2\"]\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, keys transformed into camelCase. 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 in a single swagger-api ::api\nswagger-spec served from \"/swagger.json\"\nswagger-ui mounted to \"/\"\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 \"ping\")}]\n [\"/pong\" {:post (constantly \"pong\")}]]\n [\"/swagger.json\"\n {:get {:no-doc true\n :handler (swagger/create-swagger-handler)}}]]\n {:data {:swagger {:id ::api}}}) ;; for all routes\n (swagger-ui/create-swagger-ui-handler {:path \"/\"})))\n\nThe generated swagger spec:\n(app {:request-method :get :uri \"/swagger.json\"})\n;{:status 200\n; :body {:swagger \"2.0\"\n; :x-id #{:user/api}\n; :paths {\"/api/ping\" {:get {}}\n; \"/api/pong\" {:post {}}}}}\n\nSwagger-ui:\n(app {:request-method :get :uri \"/\"})\n; ... the swagger-ui index-page, configured correctly\n\nMore complete example\n\nclojure.spec and Schema coercion\nswagger data (:tags, :produces, :consumes)\nswagger-spec served from \"/api/swagger.json\"\nswagger-ui mounted to \"/\"\nMuuntaja for request & response formatting\nwrap-params to capture query & path parameters\nmissed routes are handled by create-default-handler\nserved via ring-jetty\n\nWhole example project is in /examples/ring-swagger.\n(require '[reitit.ring :as ring]\n(require '[reitit.swagger :as swagger]\n(require '[reitit.swagger-ui :as swagger-ui]\n;; coercion\n(require '[reitit.ring.coercion :as rrc]\n(require '[reitit.coercion.spec :as spec]\n(require '[reitit.coercion.schema :as schema]\n(require '[schema.core :refer [Int]]\n;; web server\n(require '[ring.adapter.jetty :as jetty]\n(require '[ring.middleware.params]\n(require '[muuntaja.middleware]))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n {:swagger {:id ::math}}\n\n [\"/swagger.json\"\n {:get {:no-doc true\n :swagger {:info {:title \"my-api\"}}\n :handler (swagger/create-swagger-handler)}}]\n\n [\"/spec\"\n {:coercion spec/coercion\n :swagger {:tags [\"spec\"]}}\n\n [\"/plus\"\n {:get {:summary \"plus with spec\"\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\n [\"/schema\"\n {:coercion schema/coercion\n :swagger {:tags [\"schema\"]}}\n\n [\"/plus\"\n {:get {:summary \"plus with schema\"\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\n {:data {:middleware [ring.middleware.params/wrap-params\n muuntaja.middleware/wrap-format\n swagger/swagger-feature\n rrc/coerce-exceptions-middleware\n rrc/coerce-request-middleware\n rrc/coerce-response-middleware]\n :swagger {:produces #{\"application/json\"\n \"application/edn\"\n \"application/transit+json\"}\n :consumes #{\"application/json\"\n \"application/edn\"\n \"application/transit+json\"}}}})\n (ring/routes\n (swagger-ui/create-swagger-ui-handler\n {:path \"/\", :url \"/api/swagger.json\"})\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\nAdvanced\nRoute data in path [:swagger :id] can be either a keyword or a sequence of keywords. This enables one route to be part of multiple swagger apis. 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 \"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\ncreate a data-driven version of Muuntaja that integrates into :produces and :consumes\nClojureScript\nexample for Macchiato\nbody formatting\nresource handling\n\n\n\n"},"performance.html":{"url":"performance.html","title":"Performance","keywords":"","body":"Performance\nReitit tries to be both great in features and be really, really fast. Originally the routing was ported from Pedestal, but has been mostly rewritten to get even better performance.\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): 530 µs -> 1.9M 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 4-24x 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 new segment-tree algorithm, reitit-ring is fastest here. Pedestal is also fast with it's prefix-tree implementation.\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 really awesome (if true).\nPerformance tips\nFew things that have an effect on performance:\n\nWildcard-routes are an order of magnitude slower than static routes\nIt's ok to mix non-wildcard and wildcard routes in a same routing tree as long as you don't disable the conflict resolution => if no conflicting routes are found, a :mixed-router can be created, which internally has a fast static path router and a separate wildcard-router. So, the static paths are still fast.\nMove computation from request processing time into creation time, using by compiling middleware & route data.\nUnmounted middleware (or interceptor) is infinitely faster than a mounted one effectively doing nothing.\n\n\n\n"},"interceptors.html":{"url":"interceptors.html","title":"Interceptors (WIP)","keywords":"","body":"Interceptors (WIP)\nReitit has also support for Pedestal-style interceptors via reitit.interceptor package. Currently, there is no interceptor interpreter shipped, just a way to compose and manage the interceptor chains.\nPlan is to have a full-featured reitit-http module with same features as the reitit-ring - enchanced interceptor maps & interceptor compilations. Stay tuned.\nTODO\n\nFigure out how to make a truly portable Interceptor definitions, e.g. Pedestal has namespaced keys for context errors, queues etc.\nSeparate modules for interceptor interpreters (including cljs)\nFinalize reitit-http module as an alternative to reitit-ring\n\nExample\nCurrent reitit-http draft (with data-specs):\n(require '[reitit.http.coercion :as rhc])\n(require '[reitit.http :as http])\n(require '[reitit.coercion.spec])\n(require '[clojure.set :as set])\n\n(def auth-interceptor\n \"Interceptor that mounts itself if route has `:roles` data. Expects `:roles`\n to be a set of keyword and the context to have `[:user :roles]` with user roles.\n responds with HTTP 403 if user doesn't have the roles defined, otherwise no-op.\"\n {:name ::auth\n :compile (fn [{:keys [roles]} _]\n (if (seq roles)\n {:description (str \"requires roles \" roles)\n :spec {:roles #{keyword?}}\n :context-spec {:user {:roles #{keyword}}}\n :enter (fn [{{user-roles :roles} :user :as ctx}]\n (if (not (set/subset? roles user-roles))\n (assoc ctx :response {:status 403, :body \"forbidden\"})\n ctx))}))})(require '[clojure.set :as set])\n\n(def app\n (http/http-handler\n (http/router\n [\"/api\" {:interceptors [auth-interceptor]}\n [\"/ping\" {:name ::ping\n :get (constantly\n {:status 200\n :body \"pong\"})}]\n [\"/plus/:z\" {:name ::plus\n :post {:parameters {:query {:x int?}\n :body {:y int?}\n :path {:z int?}}\n :responses {200 {:body {:total pos-int?}}}\n :roles #{:admin}\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 {:coercion reitit.coercion.spec/coercion\n :interceptors [rhc/coerce-exceptions-interceptor\n rhc/coerce-request-interceptor\n rhc/coerce-response-interceptor]}})))\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