netty/netty — pull request #332 by jamestyrrell (2012-05-17 06:42:30+00:00)
Title: Fixed a WebSocket client bug which led to the first frame being discarded

When switching to WebSockets over straight HTTP the first WebSocket frame is discarded by HttpResponseDecoder instead of being forwarded on to the WebSocketFrameXXDecoder. This behaviour isn't present when communicating via SSL, I believe(??) this is due to time spent encrypting data before sending which puts a bit of separation between the switching protocols response and the first frame. I have fixed the issue by checking to see if the message is WebSocket switching protocols response based on traits similar to all WebSocket versions and if this is the case the message plus the raw buffer is forwarded on to WebSocketFrameDecoder.

Another solution that worked in practice was adding:

```java
if (channel.getPipeline().get(getClass()) == null) {
unfoldAndFireMessageReceived(context, input, remoteAddress);
return;
}
```
to callDecode in ReplayingDecoder, but this approach fails in cases like HttpClientCodec.

I have also modified the git exclusions to be a bit more permissive.