In tests I noticed that Nighthawk may sometimes wait for a long time, or even hang after reporting results. After reproducing it, I think there are two factors at play.
- We set up a drain callback on the connection pool regardless of the number of active connections. But when passing, say,
--request-header "connection: close", no active connections may exist, and therefore no drain callback will be fired.
- When sending high volume traffic into a proxy, it may buffer up a lot of requests. In practice, this spooling may take a long time to unwind.
In tests I noticed that Nighthawk may sometimes wait for a long time, or even hang after reporting results. After reproducing it, I think there are two factors at play.
--request-header "connection: close", no active connections may exist, and therefore no drain callback will be fired.