socketry/async-http

Consider adding option to force close - killing all in-flight connections.

Opened this issue · 1 comments

def close
while @pool.busy?
Console.logger.warn(self) {"Waiting for #{@protocol} pool to drain: #{@pool}"}
@pool.wait
end
@pool.close
end

The after hook can hang if a test fails without closing all responses:

				def after
					@client&.close
					@server_task&.stop
					@bound_endpoint&.close
					
					super
				end

Maybe introduce @client&.close(force = true) OR @client&.stop (force close). I'm a little worried about side effects since the connection pool may not contain all active connections.

You could reproduce this behaviour with a test response = client.get then raises an exception in sus.