This is not a full example, but I ran into the same issue when building an app for the Clojure Cup not too long ago. The general approach I used is this:
- create the Compojure routes in a function with the components I need as parameters - declare the web server itself (I used httpkit) as a component with the dependencies needed for the routes - build a handler from the routes within the web server component's start function, passing the dependencies into the route-generating function I'm no Clojure expert, and this was my first project using Stuart Sierra's Component library, so I would be interested to hear some feedback from the more seasoned Clojure folks here. Here is the relevant file from my project if you are interested: https://github.com/kendru/tourbillon/blob/master/src/tourbillon/www/core.clj#L67 On Tuesday, October 7, 2014 11:33:33 AM UTC, JPatrick Davenport wrote: > > Hello, > I'm trying to create a web app. I'm having the damnest time trying to > figure out how to layer my application. I want to pass protocol > implementations to the routes. The protocols define interacting with > various data sources that I need down the way. > > I saw Stuart Sierra's talk about Component. It looks to satisfy my needs. > What I can't find is an example project for component and compojure. > Unfortunately the project com.stuartsierra/component is poorly named. > Googling for component + compojure brings back mostly false positives. > > Does anyone have a gist or blog post about how to do this? > > Thanks, > JPD > -- 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.