http module with tests