]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/web-server/examples/005-post-echo.el
Add 'packages/web-server/' from commit 'd0b6ae9df6014db2195da0081dc97cc8246f1fda'
[gnu-emacs-elpa] / packages / web-server / examples / 005-post-echo.el
diff --git a/packages/web-server/examples/005-post-echo.el b/packages/web-server/examples/005-post-echo.el
new file mode 100644 (file)
index 0000000..068b410
--- /dev/null
@@ -0,0 +1,18 @@
+;;; post-echo.el --- echo back posted message using Emacs Web Server
+(ws-start
+ '(((:POST . ".*") .
+    (lambda (request)
+      (with-slots (process headers) request
+        (let ((message (cdr (assoc "message" headers))))
+          (ws-response-header process 200 '("Content-type" . "text/plain"))
+          (process-send-string process
+            (if message
+                (format "you said %S\n" (cdr (assoc 'content message)))
+              "This is a POST request, but it has no \"message\".\n"))))))
+   ((:GET . ".*") .
+    (lambda (request)
+      (with-slots (process) request
+        (ws-response-header process 200 '("Content-type" . "text/plain"))
+        (process-send-string process
+          "This is a GET request not a POST request.\n")))))
+ 9005)