Fully test `httpRequest`
Use request callback interface instead of streams
Tidy up