written HTTP parser