using ServiceStack.ServiceHost; using System.Diagnostics; using System.IO; namespace MediaBrowser.Common.Implementations.HttpServer { /// /// Class GetDashboardResource /// [Route("/swagger-ui/{ResourceName*}", "GET")] public class GetSwaggerResource { /// /// Gets or sets the name. /// /// The name. public string ResourceName { get; set; } } public class SwaggerService : BaseRestService { /// /// Gets the specified request. /// /// The request. /// System.Object. public object Get(GetSwaggerResource request) { var runningDirectory = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); var swaggerDirectory = Path.Combine(runningDirectory, "swagger-ui"); var requestedFile = Path.Combine(swaggerDirectory, request.ResourceName.Replace('/', '\\')); return ToStaticFileResult(requestedFile); } } }