Compojure routes are checked in order until one matches. You've set up your www-routes to match all possible routes, as you have a "catch-all" not-found route at the bottom.
- James On 7 August 2014 13:17, Jonathon McKitrick <jmckitr...@gmail.com> wrote: > I'm serving up some html and js content, and using handler/site for that. > I have a separate handler/api group of routes under the "/api" context. > > If I include the api routes before the site routes, the site works fine. > If the www routes come first, the api calls fail, probably because the > (route/resources "/") at the end of the site routes catches that call and > returns null. > > OTOH, if I try to use friend with the api routes, it breaks the friend > wrapping of the www calls. > > (defroutes api-routes > (context "/api" [] > ..... > (route/not-found "ERROR"))) > > (defroutes www-routes > (GET "/admin" req (friend/authorize #{::admin} "Admin only")) > (GET "/authorized" req (friend/authorize #{::user} "Users only")) > (GET "/home" [] (response/file-response "home.html" {:root > "resources/public"})) > (GET "/login" [] (response/file-response "login.html" {:root > "resources/public"})) > (friend/logout (ANY "/logout" req (response/redirect "/"))) > (GET "/" [] (response/redirect "index.html")) > (route/resources "/") > (route/not-found "Not Found")) > > (def app > (routes > (-> www-routes > (friend/authenticate {;:allow-anon? true > ;;:login-uri "/login.html" > ;:default-landing-uri "/" > ;:redirect-on-auth? "/home" > ;:unauthorized-handler #(response/status > (response/response "NO") 401) > ;:login-failure-handler #(response/response > "OOPS") > :credential-fn (partial > creds/bcrypt-credential-fn users) > :workflows [(workflows/interactive-form)]}) > ;;(wrap-resource "public") > ;wrap-content-type > ;wrap-not-modified > ;;wrap-reload > handler/site) > (-> api-routes > handler/api > ;;wrap-reload > wrap-restful-format))) > > -- > 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. > -- 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.