diff --git a/websocket-sharp/Net/WebHeaderCollection.cs b/websocket-sharp/Net/WebHeaderCollection.cs index 67f98493..4189c9b9 100644 --- a/websocket-sharp/Net/WebHeaderCollection.cs +++ b/websocket-sharp/Net/WebHeaderCollection.cs @@ -876,15 +876,24 @@ namespace WebSocketSharp.Net } private void doWithCheckingState ( - Action action, string name, string value, bool setState) + Action action, string name, string value, bool setState + ) { - var type = checkHeaderType (name); - if (type == HttpHeaderType.Request) - doWithCheckingState (action, name, value, false, setState); - else if (type == HttpHeaderType.Response) + var headerType = checkHeaderType (name); + + if (headerType == HttpHeaderType.Response) { doWithCheckingState (action, name, value, true, setState); - else - action (name, value); + + return; + } + + if (headerType == HttpHeaderType.Request) { + doWithCheckingState (action, name, value, false, setState); + + return; + } + + action (name, value); } private void doWithCheckingState (