generalise http streamer and fix datetime serialisation