2014-09-27 17:24:06 +02:00
|
|
|
(ns luduverse.handler
|
2014-09-27 17:32:32 +02:00
|
|
|
(:require [compojure.core :refer :all]
|
2014-09-27 17:24:06 +02:00
|
|
|
[compojure.route :as route]
|
2014-09-27 17:32:32 +02:00
|
|
|
[noir.util.middleware :as middleware]
|
2014-09-28 00:09:23 +02:00
|
|
|
[luduverse.pages :as pages]
|
2014-09-29 00:09:52 +02:00
|
|
|
[luduverse.images :as images]
|
|
|
|
[luduverse.search :as search]))
|
|
|
|
|
|
|
|
(defn render [template & args]
|
|
|
|
(apply str (apply template args)))
|
2014-09-27 17:24:06 +02:00
|
|
|
|
|
|
|
(defroutes core-routes
|
|
|
|
(route/resources "/")
|
2014-09-29 00:09:52 +02:00
|
|
|
(GET "/" [] (render pages/landingpage-template))
|
|
|
|
(POST "/search" {params :params}
|
|
|
|
(let [term (params "term")
|
|
|
|
s (search/search term)
|
|
|
|
hits (:hit-count s)
|
|
|
|
entries (:results s)]
|
|
|
|
(render pages/results-template term hits entries)))
|
2014-09-27 17:32:32 +02:00
|
|
|
(route/not-found "404, sorry."))
|
2014-09-27 17:24:06 +02:00
|
|
|
|
2014-09-28 16:43:29 +02:00
|
|
|
(defn init [])
|
2014-09-27 17:24:06 +02:00
|
|
|
|
|
|
|
(defn destroy [])
|
|
|
|
|
|
|
|
(def app (middleware/app-handler
|
|
|
|
[core-routes]
|
|
|
|
:middleware []
|
|
|
|
:access-rules []
|
|
|
|
:formats [:json-kw :edn]))
|