Pipelined HTTP GET utility

While writing portsnap, I found myself in need of a utility for performing pipelined HTTP. This is different from "normal" HTTP in that it allows the HTTP client to have several HTTP requests "in flight" at once, and can dramatically increase performance when a large number of small files need to be downloaded. (This was the case with portsnap, where downloading 300 files of 200 bytes each is not unusual).

As a result, I've written a minimalist pipelined HTTP client and added it as an experimental feature to the latest version of portsnap; but I've also decided to package it separately here in case anyone else finds themselves in need of such code. Version 0.2 of phttpget is available here.

Note that phttpget is currently extremely minimalist. Of particular note:

If you use this code, please contact me, both because I'm interested to know about these things and so that I can notify you in the unlikely event of a security issue being discovered.