(ns config (:import java.lang.System java.net.URL)) ;; Configuration (def *server-user* (System/getProperty "user.name")) (defn getenv ([k] (System/getenv k)) ([k default] (let [v (System/getenv k)] (if (and v (not= v "")) v default)))) (defn getenv-int ([k default] (let [v (getenv k nil)] (if v (Integer/parseInt v) default)))) (defn getenv-bool ([k default] (let [v (getenv k nil)] (if (nil? v) default (contains? #{"1" "true" "yes" "on"} (.toLowerCase v)))))) (def *server-url* (getenv "DUMPFM_SERVER_URL" (if (= *server-user* "dumpfmprod") "/" "http://localhost:8080"))) (def *public-host* (getenv "DUMPFM_PUBLIC_HOST" (try (.getHost (URL. *server-url*)) (catch Exception _ "")))) (def *public-scheme* (getenv "DUMPFM_PUBLIC_SCHEME" (try (.getProtocol (URL. *server-url*)) (catch Exception _ "http")))) (def *cookie-domain* (getenv "DUMPFM_COOKIE_DOMAIN" (if (= *server-user* "dumpfmprod") ".dump.fm" ""))) (def *passwordless-login* (getenv-bool "DUMPFM_PASSWORDLESS_LOGIN" false)) (def db-server (getenv "DUMPFM_DB_HOST" (if (= *server-user* "dumpfmprod") "localhost"; "192.168.162.138" "localhost"))) (def redis-server {:host (getenv "DUMPFM_REDIS_HOST" (if (= *server-user* "dumpfmprod") "127.0.0.1" "127.0.0.1")) :port (getenv-int "DUMPFM_REDIS_PORT" 6379) :db (getenv-int "DUMPFM_REDIS_DB" 0)}) (def *root-directory* (System/getProperty "user.dir")) (def *image-directory* "images") (def *avatar-directory* "avatars") ;; Settings (def num-popular-dumps 40) (def *dumps-per-page* 20) (def *vip-dumps-per-page* 200) (def message-count-limit 200) (def num-hall-dumps 50) (def max-content-size 2468)