public ISwaggerUI AddServer()

in src/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/SwaggerUI.cs [56:89]


        public ISwaggerUI AddServer(IHttpRequestDataObject req, string routePrefix, IOpenApiConfigurationOptions options = null)
        {
            this._req = req;

            var prefix = string.IsNullOrWhiteSpace(routePrefix) ? string.Empty : $"/{routePrefix}";
            var baseUrl = $"{this._req.GetScheme(options)}://{this._req.Host}{prefix}";
            this._swaggerUiApiPrefix = prefix.TrimEnd('/');

            if (options.IsNullOrDefault())
            {
                this._baseUrl = baseUrl;
                return this;
            }

            var server = new OpenApiServer { Url = baseUrl };
            // Filters out the existing base URLs that are the same as the current host URL.
            var servers = options.Servers
                                 .Where(p => p.Url.TrimEnd('/') != baseUrl.TrimEnd('/'))
                                 .ToList();
            if (!servers.Any())
            {
                servers.Insert(0, server);
            }

            if (options.IncludeRequestingHostName
                && !servers.Any(p => p.Url.TrimEnd('/') == baseUrl.TrimEnd('/')))
            {
                servers.Insert(0, server);
            }

            this._baseUrl = servers.First().Url;

            return this;
        }