make sure all intermediate stream bodies will be destroy and have error handle
add some edge cases, fix respond empty body length missed