anchor.diff:             (emit (peer parser) "error" "Header Parser Error")
              (return :error))
            (when (eql (state (headers-fsm parser)) :done)
  +           (let* ((con-len (cdr (assoc "content-length" (headers (headers-fsm parser)) :test #'string-equal)))
  +                  (con-len (parse-integer (or con-len "") :junk-allowed t))
  +                  (con-len (or con-len 0)))
  +             (format t "=> Content-Length: ~S~%" con-len)
  +             (when (zerop con-len)
  +               (setf (state (body-fsm parser)) :skip)
  +               (emit (peer parser) "request" parser)))
              (return (1+ i))))))))
   
   (defstate request-parser :read-body (parser data)
  
positive.code: (defmethod initialize-instance :after ((server http-server) &key)
    (add-listener server "connection"
                  (lambda (client)
                    (make-instance 'http-peer :socket client))))
  
  ;; HTTP Parser
  ;;; Request line parser
  
negative.code: 
  ;; HTTP Peer
  (defclass http-peer (emitter)
    ((server :initarg :server
             :accessor server)
     (socket :initarg :socket
             :accessor sock)
     (parser :accessor parser)))
  
  (defmethod initialize-instance :after ((peer http-peer) &key)
    (setf (parser peer) (make-instance 'request-parser :peer peer))
  
    (add-listener peer "request"
                  (lambda (request)
                    (emit (server peer) "request" request)))
  
    (add-listener peer "error"
                  (lambda (e)
  