summaryrefslogtreecommitdiff
path: root/clojure/src/lccl/app.clj
diff options
context:
space:
mode:
authorCédric <cedric.pineau@taelys.com>2024-10-14 22:16:11 +0200
committerCédric <cedric.pineau@taelys.com>2024-10-16 21:42:15 +0200
commitd6f68e919db51d366c8ca3c1509bea12aa81d692 (patch)
treeeddb369f40e3ae15ac50264675545c49263aef74 /clojure/src/lccl/app.clj
parent63c0c643bb8f60d7cf481b89c3102678c808d2a1 (diff)
downloadlambda-nantes-d6f68e919db51d366c8ca3c1509bea12aa81d692.tar.gz
Add clojure evaluator
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)))
+
+