private DebugMetadata GetMetadata(RouteEndpoint endpoint)
        {
            var debugMetadata = new DebugMetadata();

            foreach (var metadata in endpoint.Metadata)
            {
                switch (metadata)
                {
                case HttpMethodAttribute httpAttribute:
                    debugMetadata.Http = string.Join(", ", httpAttribute.HttpMethods);
                    break;

                case RouteAttribute routeAttribute:
                    debugMetadata.RouteTemplates.Add(routeAttribute.Template);
                    break;
                }
            }

            return(debugMetadata);
        }
Ejemplo n.º 2
0
        DebugMetadata DebugMetadataForContentAtOffset(int offset)
        {
            int currOffset = 0;

            DebugMetadata lastValidMetadata = null;

            foreach (var range in _debugSourceRanges)
            {
                if (range.debugMetadata != null)
                {
                    lastValidMetadata = range.debugMetadata;
                }

                if (offset >= currOffset && offset < currOffset + range.length)
                {
                    return(lastValidMetadata);
                }

                currOffset += range.length;
            }

            return(null);
        }