diff --git a/websocket-sharp/Net/EndPointListener.cs b/websocket-sharp/Net/EndPointListener.cs index ebc8d73d..da7fa62e 100644 --- a/websocket-sharp/Net/EndPointListener.cs +++ b/websocket-sharp/Net/EndPointListener.cs @@ -369,6 +369,35 @@ namespace WebSocketSharp.Net return bestMatch; } + private static HttpListener searchHttpListenerFromSpecial ( + string path, List prefixes, out HttpListenerPrefix prefix + ) + { + prefix = null; + + 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; + prefix = pref; + } + } + + return bestMatch; + } + #endregion #region Internal Methods