@shnoulle Well there is a configurable option for timeout (not connection timeout, i.e. establishing it) but it doesn't seem to be enabled by default in the HTTP library: 'timeout' => 0,
I know I've been fiddling with this at some time and knowing full well that there needs to be a timeout for the whole connection (a famous, now mostly taken care of, httpd DoS attack is to just reeeeaaaalllyyy sloooowwwlllyyyy byte by byte transfer a simple HTTP request, which can easily cause a zillion open connections).
I'll have a look if there's something set somewhere that I've missed so far. (I enjoy having !GNUsocial debugging sessions in the !fediverse btw .])