private async void RespondWithIndexHtml(HttpResponse response)
        {
            response.StatusCode  = 200;
            response.ContentType = "text/html";

            using (var rawStream = _options.IndexStream())
            {
                var rawText     = new StreamReader(rawStream).ReadToEnd();
                var htmlBuilder = new StringBuilder(rawText);
                foreach (var entry in _options.IndexSettings.ToTemplateParameters())
                {
                    htmlBuilder.Replace(entry.Key, entry.Value);
                }

                await response.WriteAsync(htmlBuilder.ToString(), Encoding.UTF8);
            }
        }
        private async Task RespondWithIndexHtml(HttpResponse response)
        {
            response.StatusCode = 200;
            response.ContentType = "text/html;charset=utf-8";

            using (var stream = _options.IndexStream())
            {
                // Inject arguments before writing to response
                var htmlBuilder = new StringBuilder(new StreamReader(stream).ReadToEnd());
                foreach (var entry in GetIndexArguments())
                {
                    htmlBuilder.Replace(entry.Key, entry.Value);
                }

                await response.WriteAsync(htmlBuilder.ToString(), Encoding.UTF8);
            }
        }
예제 #3
0
        /// <summary>
        /// Gets the HTML-content of the index-page, as specified in the provided
        /// <see cref="SwaggerUIOptions.IndexStream"/> in the <see cref="SwaggerUIOptions"/>.
        /// </summary>
        /// <returns></returns>
        public string Build()
        {
            StringBuilder htmlBuilder;
            var           indexContent = string.Empty;

            using (var stream = _options.IndexStream())
            {
                using (var reader = new StreamReader(stream))
                {
                    indexContent = reader.ReadToEnd();
                }
            }

            // Inject arguments before writing to response
            htmlBuilder = new StringBuilder(indexContent);
            foreach (var entry in GetIndexArguments())
            {
                htmlBuilder.Replace(entry.Key, entry.Value);
            }

            return(htmlBuilder.ToString());
        }