Skip to content

Instantly share code, notes, and snippets.

@Gianni-VE
Created April 29, 2024 12:40
Show Gist options
  • Select an option

  • Save Gianni-VE/1c40d09e84593fbab5c394dabd7708b0 to your computer and use it in GitHub Desktop.

Select an option

Save Gianni-VE/1c40d09e84593fbab5c394dabd7708b0 to your computer and use it in GitHub Desktop.
;; Deze functie zet de data van de response map op het ServletResponse object
(defn- set-response-values [http-response response]
;; Loop over de headers
(doseq [[header value] (response :headers)]
(.setHeader http-response header value))
;; Set de response status
(.setStatus http-response (response :status)))
;; Deze functone zet een ServletRequest om in een request map
:: Momenteel enkel de content van de request
(defn- request-map [http-request]
{:body (edn/read (PushbackReader. (.getReader http-request)))})
(defn servlet [handler]
;; Maak een instantie van de abstracte HttpServlet class
(proxy [HttpServlet] []
;; Implementeer (override) de service method
(service [http-request http-response]
;; Zet de request om in data
(->> (request-map http-request)
;; voer de handler functie uit met de data
handler
;; zet de response map op de ServletResponse
(set-response-values http-response)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment