Fix bug

The HTTP response can come in several chunks. In this case, the response will trigger 'data' several times before finally triggering 'end'. The code was assuming only a single 'data'.

I added a dependency on "buffers", because it made the code simpler. I can remove it needed.