allow questring params and headers with same name. refactor httprequest.