refresh token if it has expired, retry request