We cleaned up the WebSocketRequestHandler class to behave more like a normal RequestHandler. But it still has a lot of bells and whistles that makes it unnecessarily complex.
We should strip it down so that it provides base functionality, just like other RequestHandler stuff already in Python. Fancy extra features like more advanced logging and recording data could be added in a subclass if it is something upstream really wants. And on that note, it should be derived from BaseHTTPRequestHandler, not SimpleHTTPRequestHandler. Or perhaps a "mixin" design is needed given that the base HTTP request handler class might vary.
It has been gradually reduced over the years and finally reduced to a mixin in r33913 for bug 7187 and bug 7289.
Considering this fixed.
Code reviewed. No need to test anything.