FF 6.0.2 (at least) sends Connection: keep-alive, Upgrade. Not surprisingly, receives 400, Connection must be "Upgrade".
Please, consider introducing more flexible analysis, or invalidate the way FF opens WebSocket connections.
Connection: keep-alive, Upgrade
400, Connection must be "Upgrade"
Confirmed. This happens on FF 6.0.2 but not FF 6.0.