summaryrefslogtreecommitdiff
path: root/clojure/src/lccl/main.clj
diff options
context:
space:
mode:
Diffstat (limited to 'clojure/src/lccl/main.clj')
-rw-r--r--clojure/src/lccl/main.clj36
1 files changed, 36 insertions, 0 deletions
diff --git a/clojure/src/lccl/main.clj b/clojure/src/lccl/main.clj
new file mode 100644
index 0000000..071d7c6
--- /dev/null
+++ b/clojure/src/lccl/main.clj
@@ -0,0 +1,36 @@
+(ns lccl.main
+ (:require [ring.adapter.jetty :as ring-jetty]
+ [clj-http.client :as client]
+ [lccl.app :as app]
+ [lccl.fwk.middlewares :as middlewares])
+ (:gen-class))
+
+(def TEAM_NAME "LCCL")
+(def SELF_PORT 8888)
+(def SELF_URL (str "http://127.0.0.1:" SELF_PORT))
+(def TESTER_URL "http://127.0.0.1:8080")
+
+(defn run-http-server!
+ [{:keys [dev-mode? server-options]}]
+ (let [create-handler-fn #(app/app-handler)
+ handler* (if dev-mode?
+ (middlewares/reloading-ring-handler create-handler-fn)
+ (create-handler-fn))]
+ (ring-jetty/run-jetty handler* server-options)
+ (println "Evaluateur à l'écoute sur le port" (:port server-options))))
+
+(defn- run! [{dev-mode? :dev-mode?}]
+ (run-http-server! {:dev-mode? dev-mode?
+ :server-options {:join? false :port SELF_PORT}})
+ (let [response (client/post (str TESTER_URL "/register")
+ {:body (str "{\"url\": \"" SELF_URL "/eval\", \"name\": \"" TEAM_NAME "\"}")
+ :content-type :json
+ :accept :json})]
+ (println "Résultat de l'enregistrement : " (:body response))))
+
+(defn -main
+ [& _]
+ (run! {:dev-mode? false}))
+
+(comment
+ (run! {:dev-mode? true}))