(set! *warn-on-infer* true) (def ^js wifi (js/require "Wifi")) (def ^js http (js/require "http")) (def n (atom 0)) (defn build-response [] (str "" "

Hello Clojure

" "

This is request no. " (swap! n (fn [^number x] (inc x))) "

\n" "

Running ClojureScript with Espruino on a ESP32 Wrover

\n" "

Free Heap: " (.-free (js/process.memory)) " Bytes

\n" "" )) (defn ^:export handle-request [^js req, ^js res] (.writeHead res 200 #js{"Content-Type" "text/html"}) (.write res (build-response)) (.end res "")) (defn ^:export start-server [] (js/print "Starting server...") (-> (.createServer http handle-request) (.listen 80)) (js/print "Webserver Created on port 80")) (defn start-wifi [] (.restore wifi)) (defn ^:export init [] (js/print "Connecting to Wifi..."); (start-wifi) (start-server)) (js/print "Starting...") (init)