cc @code-asher
This is mostly so we don't have to do any wacky patching but it also makes it so we don't have to keep checking if the request is a web socket request every time we add middleware.
This makes it clickable from the terminal.
It doesn't do anything yet.