summaryrefslogtreecommitdiff
path: root/clojure/src/lccl/app.clj
blob: 522d8bf93b2c24cf5cf9ca1beb05be11422a05cc (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
(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)))