diff --git a/websocket-sharp/Net/EndPointListener.cs b/websocket-sharp/Net/EndPointListener.cs index 4c015bb1..186e2996 100644 --- a/websocket-sharp/Net/EndPointListener.cs +++ b/websocket-sharp/Net/EndPointListener.cs @@ -340,6 +340,32 @@ namespace WebSocketSharp.Net return bestMatch; } + private static HttpListener searchHttpListenerFromSpecial ( + string path, List prefixes + ) + { + if (prefixes == null) + return null; + + HttpListener bestMatch = null; + + var bestLen = -1; + foreach (var pref in prefixes) { + var prefPath = pref.Path; + + var len = prefPath.Length; + if (len < bestLen) + continue; + + if (path.StartsWith (prefPath)) { + bestLen = len; + bestMatch = pref.Listener; + } + } + + return bestMatch; + } + private static HttpListener searchHttpListenerFromSpecial ( string path, List prefixes, out HttpListenerPrefix prefix )