123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using MediaBrowser.Common.Net;
- using ServiceStack.ServiceHost;
- using System.Diagnostics;
- using System.IO;
- namespace MediaBrowser.Server.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 : IHasResultFactory, IRestfulService
- {
- /// <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 ResultFactory.GetStaticFileResult(RequestContext, requestedFile);
- }
- /// <summary>
- /// Gets or sets the result factory.
- /// </summary>
- /// <value>The result factory.</value>
- public IHttpResultFactory ResultFactory { get; set; }
- /// <summary>
- /// Gets or sets the request context.
- /// </summary>
- /// <value>The request context.</value>
- public IRequestContext RequestContext { get; set; }
- }
- }
|