Manually assigning WebSocket-Version
Manually assigning WebSocket-Version

When manually assigning `Sec-WebSocket-Key` & `Sec-WebSocket-Version`, websocket-client would raise:

    WebSocketException("Invalid WebSocket Header")

Because the key for instance, would be inserted twice.
The best way to get around this in the long run, would be to refrain from using lists as the header builder, since keys can't occur twice anyway. Thus, just creating the automated headers first, and then iterating over whatever the user inputs - would effectively replace any default headers automatically, without needing to parse "if host in options['headers']" etc. Just iterate over the headers given, replace the default ones and bam, profit.
websocket-client/websocket-client