TrackingContext GetTrackingContext()
        {
            var    queryParameters = HybridConnectionUtility.ParseQueryString(this.rendezvousAddress.Query);
            string trackingId      = queryParameters[HybridConnectionConstants.Id];

            return(TrackingContext.Create(trackingId, this.rendezvousAddress));
        }
        TrackingContext GetTrackingContext()
        {
            var    queryParameters = HybridConnectionUtility.ParseQueryString(this.rendezvousAddress.Query);
            string trackingId      = queryParameters[HybridConnectionConstants.Id];

            string path = this.rendezvousAddress.LocalPath;

            if (path.StartsWith(HybridConnectionConstants.HybridConnectionRequestUri, StringComparison.OrdinalIgnoreCase))
            {
                path = path.Substring(HybridConnectionConstants.HybridConnectionRequestUri.Length);
            }

            Uri logicalAddress = new UriBuilder()
            {
                Scheme = Uri.UriSchemeHttps,
                Host   = this.listener.Address.Host,
                Path   = path,
            }.Uri;

            return(TrackingContext.Create(trackingId, logicalAddress));
        }