anchor.diff:                   (vector-push-extend (char hex-digit (ldb (byte 4 0) byte)) result))))
       result))
   
  +(defun decode-buffer (buffer external-format)
  +  ;; Babel doesn't seem to understand external-formats properly, and ignores the EOL style.
  +  (let ((decoded (babel:octets-to-string buffer
  +                                         :encoding (if (eql external-format :default)
  +                                                       :utf-8
  +                                                       external-format)
  +                                         :errorp nil)))
  +    (if (eql external-format :default)
  +        (remove #\Carriage-Return decoded)
  +        decoded)))
  +
   (defun decode-status-line (line)
     (let* ((version-end (position #\Space line))
            (code-end (position #\Space line :start (1+ version-end)))
  
positive.code: (require :babel)
  
  (defpackage :mezzano.file-system.http
    (:use #:cl #:mezzano.file-system #:mezzano.file-system-cache)
    (:export #:http-host))
  
  (in-package :mezzano.file-system.http)
  
negative.code:   (declare (ignore host))
    ())
  
  (defclass http-binary-stream (mezzano.gray:fundamental-binary-input-stream
                                file-stream)
    ((path :initarg :path :reader path)
     (position :initarg :position :accessor stream-position)
     (buffer :initarg :buffer :reader stream-buffer)))
  
  (defclass http-character-stream (mezzano.gray:fundamental-character-input-stream
                                   file-stream)
    ((path :initarg :path :reader path)
     (position :initarg :position :accessor stream-position)
     (buffer :initarg :buffer :reader stream-buffer)))
  
  (defmethod print-object ((object http-binary-stream) stream)
    (print-unreadable-object (object stream :type t :identity t)
  