Connection: Keep-Alive requires Kamel-Kasing
I'm not even sure this is a bug, because I can't divine it from any spec, but line 724 of wsgiserver2.py looks like this:
if self.inheaders.get("Connection", "") != "Keep-Alive": self.close_connection = True
If an HTTP/1.0 client sends a Connection header with the value "keep-alive" (lowercase), this if will be True, and the connection will be closed. Maybe if self.inheaders.get('Connection', '').lower() == 'keep-alive' would be better here, even if the spec doesn't allow for it?