summaryrefslogtreecommitdiff
path: root/clojure/src/lccl/main.clj
blob: 071d7c6d77475f66bdd1d7a9c73c634036aa96f3 (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
28
29
30
31
32
33
34
35
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}))