aboutsummaryrefslogtreecommitdiff
path: root/src/ctf_website/server.clj
blob: afdac9daf8dabf702672696a74b739c62193929c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(ns ctf-website.server
  (:require [noir.server :as server]
            [ctf-website.models :as models]))

(server/load-views "src/ctf_website/views/")

(defn redirect-https
  [handler]
  (fn [request]
    (if (= :http (:scheme request))
      (ring.util.response/redirect
        (str "https://" (:server-name request) (:uri request)))
      (handler request))))

(server/add-middleware redirect-https)

(defn -main [& m]
  (let [mode (keyword (or (first m) :dev))
        port (Integer. (get (System/getenv) "PORT" "80"))]
    (models/initialize)
    (server/start port {:mode mode
                        :jetty-options {:ssl? true
                                        :ssl-port 443
                                        :keystore "/home/ctf/ctf-website/key_crt.jks"
                                        :key-password "password"}
                        :ns 'ctf-website})))