Pomona.PomonaResponseProcessorBase.GetHtmlLinks C# (CSharp) Method

GetHtmlLinks() private method

private GetHtmlLinks ( Nancy.NancyContext context ) : string
context Nancy.NancyContext
return string
        private string GetHtmlLinks(NancyContext context)
        {
            var routeCache = this.routeCacheProvider.GetCache();
            if (routeCache == null)
                return String.Empty;

            StringBuilder linkBuilder = new StringBuilder();

            var routesWithMetadata = routeCache
                .Select(r => r.Value)
                .SelectMany(r => r.Select(t => t.Item2))
                .Where(r => r.Metadata != null && r.Metadata.Has<PomonaRouteMetadata>());

            foreach (var route in routesWithMetadata)
            {
                var metadata = route.Metadata.Retrieve<PomonaRouteMetadata>();
                var rel = String.Concat("http://pomona.io/rel/", metadata.Relation);
                var contentType = metadata.ContentType;
                var methods = metadata.Method.ToString().ToUpperInvariant();
                var href = context.Request.Url.BasePath + route.Path;

                linkBuilder.AppendFormat("<link rel=\"{0}\" type=\"{1}\" methods=\"{2}\" href=\"{3}\">{4}",
                                         rel,
                                         contentType,
                                         methods,
                                         href,
                                         Environment.NewLine);
            }

            return linkBuilder.ToString();
        }