Hi Clifford, First, br/resource-maybe can only appear as the second item of a route pair, because it only satisfies the bidi.bidi/Matched protocol. The first item of a route pair is for patterns only, i.e. types that satisfy bidi.bidi/Pattern protocol.
What you are trying to do is easy (when you know how). Let's assume you have a file in your project resources/public/foo.txt such that (io/resource "public/foo.txt") returns non-nil Your route structure could look like this :- (def routes ["" [ ["/index.html" :index] ["" (br/resources {:prefix "public"})] ]]) Note here I'm using a *vector-of-vectors* syntax, which I recommend when you have ambiguous patterns because the order in which the patterns should be tried is made explicit. (You can use maps, but I suggest using the more verbose vector-of-vectors syntax in cases such as this) (bidi/match-route routes "/index.html") => {:handler :index} as we should expect. (bidi/match-route routes "/foo.txt") will try fail the "/index.html" pattern, and try the "" pattern with a remainder of "/foo.txt". The prefix of "public" is then preprending, resulting in the string "public/foo.txt", which is passed to io/resource - and we get a hit. The difference between resources and resources-maybe, is that resources will always return a handler - if the resource doesn't exist the handler will return {:status 404} - no other patterns will be tried. If you use resources-maybe, then a nil is returned if there is no matching resource, and any remaining patterns are then tried. I hope this helps - let me know if you need more help. Regards, Malcolm On Monday, 12 January 2015 07:27:16 UTC, cliff wrote: > > Would something like this be correct? > > (def routes >> ["" { >> "/" {["" (br/resources-maybe {:prefix "public"})] >> :home-page-handler}}]) > > > On Monday, 12 January 2015 08:39:19 UTC+2, cliff wrote: >> >> Hi Dan >> >> Thanks for that. I have read that section. >> My question is, how do I associate the "/" route with both a handler and >> the 'resources-maybe'? >> >> I would like the resources to pick up the Google Closure library sitting >> in 'resources/public/js/out' when navigating to '/index.html' >> >> >> >> On Monday, 12 January 2015 00:36:59 UTC+2, Dan Kersten wrote: >>> >>> Hi, >>> >>> Take a look at https://github.com/juxt/bidi#resources-and-resourcesmaybe >>> >>> Regards, >>> Dan >>> >>> On 11 January 2015 at 19:27, cliff <clifford...@gmail.com> wrote: >>> >>>> Hi >>>> >>>> I am trying to mimic the following Compojure behaviour, in juxt/bidi >>>> >>>> (defroutes routes >>>>> (*resources* "/") >>>>> (GET "/*" req (io/resource "index.html"))) >>>>> >>>> >>>> >>>>> (def http-handler (reload/wrap-reload (api #'routes))) >>>> >>>> >>>> In Compojure, the 'resources' function seems to load all resources by >>>> default from /resources/public/. >>>> When I try set up the equivalent routes in bidi, I keep getting errors >>>> of resources not found. >>>> >>>> How would you do this in, juxt/bidi ? >>>> >>>> Thanks >>>> Clifford >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- 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.