make diff failure more explicit
fetch data, then raise an explicitly empty response error when we have
no data. previously this relied on an implicit error from accessing the
data, which is fairly fishy and unreliable as that is somewhat depending
on the VM