add functional test case
merge transport_implementation to http download
update .gitignore