anchor.diff:                                +crlf-ascii+))
      (status :accessor reply-status :initform 200)
      (socket :reader reply-socket :initarg :socket)
  +   (request :reader reply-request :initarg :request)
      (headers-written-p :accessor reply-headers-written-p :initform nil)
      (http-server :reader reply-http-server :initarg :http-server)
  -   (keep-alive-p :accessor reply-keep-alive-p :initform t)
      (chunkedp :accessor reply-chunked-p :initform t)
      (external-format :accessor reply-external-format :initarg :external-format)))
   
  
positive.code:     (let ((*request* req)
            (*reply* rep)
            (*http-server* driver))
        (if (request-method req)
            (on-request-data user-driver (if-let (format (request-external-format req))
                                           (babel:octets-to-string data :encoding format)
                                           data))
            (parse-headers user-driver (socket-server socket) data)))))
  
  (defparameter +100-continue+ #.(babel:string-to-octets (format nil "HTTP/1.1 100 Continue~a~a" +crlf-ascii+ +crlf-ascii+)))
  (defun parse-headers (driver server data)
    (multiple-value-bind (donep parser rest)
        (feed-parser (request-request-parser *request*) (babel:octets-to-string data :encoding :ascii))
      (when donep
  
negative.code:    (header-bytes ((reply a)) :accessorp t)
     (write-headers ((reply a)))
     (headers-written-p ((reply a)) :accessorp t)
     (chunked-p ((reply a)) :accessorp t)
     (http-server ((reply a)))
     (external-format ((reply a)) :accessorp t)
     (request ((reply a)))
     (socket ((reply a)))
     #+nil(trailers ((reply a)) :accessorp t))
    (:prefix reply-))
  