ReadAbortCloser should really be a WriteAbortCloser