anchor.diff:     (headers ((reply a)) :accessorp t)
      (write-headers ((reply a)))
      (headers-written-p ((reply a)) :accessorp t)
  +   (keep-alive-p ((reply a)) :accessorp t)
  +   (http-server ((reply a)))
      (socket ((reply a))))
     (:prefix reply-))
   
  
positive.code:   ((headers :accessor reply-headers :initform nil)
     (status :accessor reply-status :initform 200)
     (socket :reader reply-socket :initarg :socket)
     (headers-written-p :accessor reply-headers-written-p :initform nil)))
  
  (defmethod close ((reply reply) &key abort)
    (unless (or (reply-headers-written-p reply) abort)
      (write-headers reply))
    (close (reply-socket reply) :abort abort))
  
  (defun reply-headers* ()
    (reply-headers *reply*))
  
negative.code:                           :test #'equalp)
                ;; TODO - perhaps we shouldn't write this when the client's HTTP version is <1.1?
                (write-sequence +100-continue+ (reply-socket *reply*)))
              (when (member '("Connection" . "keep-alive") (request-headers *request*)
                            :test #'equalp)
                (setf (reply-keep-alive-p *reply*) t))
              (on-http-request driver)
              (on-request-data driver data))
            (parse-headers driver server rest)))))
  