We may as well make the header stuff happen in ```doRequest```. Then I can use it for the ETag header too.