Created
April 29, 2024 12:40
-
-
Save Gianni-VE/1c40d09e84593fbab5c394dabd7708b0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ;; 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