{:components {:app #var duct.component.handler/handler-component :http #var asciinema.component.aleph/aleph-server :db #var duct.component.hikaricp/hikaricp :ragtime #var duct.component.ragtime/ragtime} :endpoints {:example #var asciinema.endpoint.example/example-endpoint} :dependencies {:http [:app] :app [:example] :ragtime [:db] :example [:db]} :config {:app {:middleware {:functions {:hide-errors #var duct.middleware.errors/wrap-hide-errors :not-found #var duct.middleware.not-found/wrap-not-found :ring-defaults #var ring.middleware.defaults/wrap-defaults :route-aliases #var duct.middleware.route-aliases/wrap-route-aliases :webjars #var ring.middleware.webjars/wrap-webjars} :applied [:not-found :webjars :ring-defaults :route-aliases :hide-errors] :arguments {:not-found #resource "asciinema/errors/404.html" :hide-errors #resource "asciinema/errors/500.html" :route-aliases {"/" "/index.html"} :ring-defaults {:params {:urlencoded true :keywordize true :multipart true :nested true} :cookies true :session {:flash true :cookie-attrs {:http-only true}} :security {:anti-forgery true :xss-protection {:enable? true, :mode :block} :frame-options :sameorigin :content-type-options :nosniff} :static {:resources "asciinema/public"} :responses {:not-modified-responses true :absolute-redirects true :content-types true :default-charset "utf-8"}}}}} :http {:port http-port} :db {:uri db-uri} :ragtime {:resource-path "asciinema/migrations"}}}