Refactor topic preview dependency, and add cURL timeout