Return 404 when the response is empty

It only returns 404 as a default when the status is not specified and when the response body is empty. Otherwise, it respects any existing value.