Universe.Framework.Servers.HttpServer.BaseHttpServer.TryGetStreamHandler C# (CSharp) Method

TryGetStreamHandler() private method

private TryGetStreamHandler ( string handlerKey, IStreamedRequestHandler &streamHandler ) : bool
handlerKey string
streamHandler IStreamedRequestHandler
return bool
        internal bool TryGetStreamHandler (string handlerKey, out IStreamedRequestHandler streamHandler)
        {
            string bestMatch = null;

            lock (m_streamHandlers)
            {
                if (m_streamHandlers.TryGetValue (handlerKey, out streamHandler))
                    return true;
                foreach (string pattern in m_streamHandlers.Keys)
                {
                    if (handlerKey.StartsWith (pattern, StringComparison.Ordinal))
                    {
                        if (string.IsNullOrEmpty (bestMatch) || pattern.Length > bestMatch.Length)
                        {
                            bestMatch = pattern;
                        }
                    }
                }

                if (string.IsNullOrEmpty (bestMatch))
                {
                    streamHandler = null;
                    return false;
                }

                streamHandler = m_streamHandlers [bestMatch];
                return true;
            }
        }