I really am dense at times. :(

I was confusing the 'component' for the system map in this 
line: 
https://github.com/weavejester/duct/blob/master/duct/src/duct/component/endpoint.clj#L6

#PalmToFace

-d

On Tuesday, June 9, 2015 at 5:57:48 PM UTC-5, James Reeves wrote:
>
> On 9 June 2015 at 23:16, Dru Sellers <d...@drusellers.com <javascript:>> 
> wrote:
>
>> @James do you only have one component that has all of your routes? or do 
>> you have each component supply its own routes? If you imagine a component 
>> providing its own routes, I'd love to see a duct example with two routes 
>> set up.
>>
>> I believe that would be multiple endpoint components.
>>
>> Looking at 
>> https://github.com/weavejester/duct/blob/master/duct/src/duct/component/endpoint.clj#L7
>>  
>> I'm guessing that duct only expects one endpoint-component - is that 
>> correct?
>>
>
> No, you can have as many endpoint components as you want.
>
> Duct has a handler component that looks for endpoint components in its 
> dependencies, and combines their routes together using 
> compojure.core/routes.
>
> One of the ideas in Duct is to group routes together by purpose, to 
> achieve the modularity of micro-service architecture without the overhead.
>
> For example, let's say you have endpoints foo, bar and baz. Then your 
> system builder in Duct would look like:
>
> (defn new-system [config]
>   (let [config (meta-merge base-config config)]
>     (-> (component/system-map
>          :http (jetty-server (:http config))
>          :app  (handler-component (:app config))
>          :foo  (endpoint-component foo-endpoint)
>          :bar  (endpoint-component bar-endpoint)
>          :baz  (endpoint-component baz-endpoint))
>         (component/system-using
>          {:http [:app]
>           :app  [:foo :bar :baz]}))))
>
> - James
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to