I need to proxy another transport in Go. Essentially I need to downgrade from transport.Listener to manet.Listener to net.Listener. In my case, I have a lib that proxies a net.Listener and I want to apply it to a listener from the websocket transport package. If the websocket transport package were a bit more open, I could use the net parts without having it already upgraded with the upgrader, but alas it is not.
Is there any code to support this use case? Any suggestions? Should I make my own upgrader and pass it to the web socket transport that basically does nothing but record the manet listener in use?