this will only catch the case where the response is a 304, perhaps we should special case that, in all other statuses it should go to fail