anchor.diff:           (lines (cl-ppcre:split (concat '(#\Newline)) request))
            (req (http-request-parse-lines lines))
            (row-count (q+:row-count headers-list)))
  -    (setf (q+:row-count headers-list) (1+ (q+:row-count headers-list)))
  -    (setf (q+:item headers-list row-count 0)
  -          (q+:make-qtablewidgetitem (http-request-method req)
  -                                    (q+:qtablewidgetitem.type)))
  -    (setf (q+:item headers-list row-count 1)
  -          (q+:make-qtablewidgetitem (http-request-host req)
  -                                    (q+:qtablewidgetitem.type)))
  -    (setf (q+:item headers-list row-count 2)
  -          (q+:make-qtablewidgetitem (http-request-request-uri req)
  -                                    (q+:qtablewidgetitem.type)))))
  +    (when req
  +      (setf (q+:row-count headers-list) (1+ (q+:row-count headers-list)))
  +      (setf (q+:item headers-list row-count 0)
  +            (q+:make-qtablewidgetitem (http-request-method req)
  +                                      (q+:qtablewidgetitem.type)))
  +      (setf (q+:item headers-list row-count 1)
  +            (q+:make-qtablewidgetitem (http-request-host req)
  +                                      (q+:qtablewidgetitem.type)))
  +      (setf (q+:item headers-list row-count 2)
  +            (q+:make-qtablewidgetitem (http-request-request-uri req)
  +                                      (q+:qtablewidgetitem.type))))))
  +
  +(define-slot (aeon open-request) ((row int) (column int))
  +  (declare (connected headers-list (cell-clicked int int)))
  +  (declare (ignore column)) ; only interested in whole row anyway
  +  (let ((tabwidget (make-tabwidget
  +                    aeon
  +                    (request-from-string (getf (gethash row *requests*) :request)))))
  +    (q+:add-widget layout tabwidget)))
  +
  +(defun make-tabwidget (aeon req)
  +  (let ((tabs-widget (q+:make-qtabwidget aeon))
  +        (table (q+:make-qtablewidget
  +                (length (rest (list-get-item 'headers req))) 3 aeon)))
  +    (q+:add-tab tabs-widget table "Request headers")
  +    tabs-widget))
  +
  +(defun request-from-string (str)
  +  (http-request-parse-lines (cl-ppcre:split (concat '(#\Newline)) str)))
   
   (defun main ()
     (with-main-window (window (make-instance 'aeon))
  
positive.code:   (setf (q+:placeholder-text filter-text) "Filter domain..."))
  
  (define-subwidget (aeon headers-list) (q+:make-qtablewidget aeon)
    (q+:hide (q+:horizontal-header headers-list))
    (q+:hide (q+:vertical-header headers-list))
    (setf (q+:show-grid headers-list) nil)
    (setf (q+:column-count headers-list) 3)
    (setf (q+:selection-behavior headers-list) (q+:qabstractitemview.select-rows))
    (setf (q+:stretch-last-section (q+:horizontal-header headers-list)) t)
    (setf (q+:resize-mode (q+:horizontal-header headers-list))
  
negative.code:   (declare (connected filter-text (return-pressed)))
    (setf (q+:enabled start-button) nil)
    (setf (q+:text start-button) "Running...")
    (start "127.0.0.1" 2504))
  
  (define-signal (aeon got-request) (int))
  
  