summaryrefslogtreecommitdiff
path: root/clojure/src/lccl/app.clj
diff options
context:
space:
mode:
Diffstat (limited to 'clojure/src/lccl/app.clj')
-rw-r--r--clojure/src/lccl/app.clj30
1 files changed, 30 insertions, 0 deletions
diff --git a/clojure/src/lccl/app.clj b/clojure/src/lccl/app.clj
new file mode 100644
index 0000000..522d8bf
--- /dev/null
+++ b/clojure/src/lccl/app.clj
@@ -0,0 +1,30 @@
+(ns lccl.app
+ (:require [reitit.ring :as ring-reitit]
+ [reitit.coercion.malli]
+ [reitit.ring.malli]
+ [reitit.dev.pretty :as pretty]
+ [reitit.ring.middleware.muuntaja :as muuntaja]
+ [muuntaja.core :as m]))
+
+(defn eval
+ [request]
+ (let [sexpr (slurp (:body request))]
+ (println "Demande d'évaluation de l'expression :" sexpr)
+ {:status 200, :body sexpr}))
+
+(defn api-handler
+ []
+ (ring-reitit/ring-handler
+ (ring-reitit/router
+ [["/eval" {:post eval}]]
+
+ {:exception pretty/exception
+ :data {
+ :muuntaja m/instance
+ :middleware [muuntaja/format-response-middleware]}})))
+
+(defn app-handler
+ []
+ (ring-reitit/routes (api-handler)))
+
+