diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs b/MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs new file mode 100644 index 000000000..a4808834d --- /dev/null +++ b/MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs @@ -0,0 +1,38 @@ +using ServiceStack.ServiceHost; +using System.Diagnostics; +using System.IO; + +namespace MediaBrowser.Common.Implementations.HttpServer +{ + /// <summary> + /// Class GetDashboardResource + /// </summary> + [Route("/swagger-ui/{ResourceName*}", "GET")] + public class GetSwaggerResource + { + /// <summary> + /// Gets or sets the name. + /// </summary> + /// <value>The name.</value> + public string ResourceName { get; set; } + } + + public class SwaggerService : BaseRestService + { + /// <summary> + /// Gets the specified request. + /// </summary> + /// <param name="request">The request.</param> + /// <returns>System.Object.</returns> + 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); + } + } +} |
