anchor.diff:               (format t "=> Content-Length: ~S~%" con-len)
                (if (zerop con-len)
                    (progn
  -                   (setf (state (body-fsm parser)) :skip)
  +                   (setf (state (body-fsm parser)) :done)
                      (emit (peer parser) "request" parser))
                    (setf (remaining (body-fsm parser)) con-len)))
              (return (1+ i))))))))
  
positive.code: (defstate request-parser :read-body (parser data)
    (let ((data (or (buffer parser) data)))
      (setf (buffer parser) nil)
      (funcall (body-fsm parser) data)
      (when (eql (state (body-fsm parser)) :done)
        (setf (state (body-fsm parser)) :skip)
        (emit (peer parser) "request" parser))
      (values nil (buffer parser))))
  
  ;; HTTP Peer
  (defclass http-peer (emitter)
  
negative.code: ;;; Body dumper
  (deffsm body-fsm ()
    ((body :initform (vector) :accessor body)
     (remaining :initform 0 :accessor remaining)
  
     (buffer :initform nil :accessor buffer
             :documentation "Stores any left-overs from the
  content-length read to be re-sent as data")))
  
  (defstate body-fsm :initial (fsm event)
    (let ((next (cond ((>= (length event) (remaining fsm))
                       (setf (body fsm) (concatenate '(vector (unsigned-byte 8))
                                                     (body fsm)
                                                     (subseq event 0 (remaining fsm)))
                             (buffer fsm) (subseq event (remaining fsm) (length event))
                             (buffer fsm) (when (length (buffer fsm)) (buffer fsm))
                             (remaining fsm) 0)
                       :done)
                      (:otherwise
                       (setf (body fsm) (concatenate '(vector (unsigned-byte 8))
                                                     (body fsm)
                                                     event))
                       nil))))
      (values next (buffer fsm))))
  
  (defstate body-fsm :done (fsm event)
    "Do nothing, we don't care"
    (declare (ignore fsm event)))
  
  