use needle as http client, optimize socket params
add file logs