Experiments in controlling LEDs using Guile + Arduino
[clinton/scratch.git] / led-web.scm
diff --git a/led-web.scm b/led-web.scm
new file mode 100644 (file)
index 0000000..ffca5ed
--- /dev/null
@@ -0,0 +1,19 @@
+(use-modules (ice-9 match)
+
+            (web server)
+            (web request)
+            (web response)
+            (web uri))
+
+(define (led-command-handler request body)
+  (match (split-and-decode-uri-path (uri-path (request-uri request)))
+    (("set" "rgb" r g b)
+     (set-led-color/primitive! (string->number r)
+                              (string->number g)
+                              (string->number b))
+     (display "Set rgb\n")
+     (values '((content-type . (text/plain)))
+            "rad\n"))
+    (_ (values '((content-type . (text/plain))) "luser\n"))))
+
+(run-server led-command-handler)