refactor Basil::HTTP