clojurecup2014-luduverse/src/luduverse/handler.clj

32 lines
903 B
Clojure

(ns luduverse.handler
(:require [compojure.core :refer :all]
[compojure.route :as route]
[noir.util.middleware :as middleware]
[luduverse.pages :as pages]
[luduverse.images :as images]
[luduverse.search :as search]))
(defn render [template & args]
(apply str (apply template args)))
(defroutes core-routes
(route/resources "/")
(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)))
(route/not-found "404, sorry."))
(defn init [])
(defn destroy [])
(def app (middleware/app-handler
[core-routes]
:middleware []
:access-rules []
:formats [:json-kw :edn]))