anchor.diff:  ;;;; drunken-dangerzone.lisp
  +;;; simple in-memory key-value server with a REST API.
  +;;; written by Kyle Isom <coder@kyleisom.net>
   (ql:quickload :restas)
   (ql:quickload :st-json)
   (ql:quickload :cl-who)
  
positive.code:         (:p "Supported endpoints:"
              (:ul
               (:li "GET /key     - retrieve a list of all keys stored in the server")
               (:li "PUT /key     - json-encode a list of keys and their values,"
                    "and they will be stored as long as they aren't already"
                    "present")
               (:li "POST /key    - similar to PUT, but will overwrite any"
                    "existing values.")
  
negative.code: (defmacro write-json-fields (&body body)
    `(st-json:write-json-to-string
      (st-json:jso ,@body)))
  
  (defun error-response (err-msg)
    (write-json-fields "error" err-msg
  