aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-03-04 22:34:02 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-03-04 22:34:02 -0500
commit4c725e69a8bb96da1f69fc3d958c680b77712f81 (patch)
treef3c401132177e5f88c029fc1400866f8e6d31737 /MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs
parent32ba557fe5293001b6c89d522e44ee92362a6390 (diff)
added swagger api docs
Diffstat (limited to 'MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs')
-rw-r--r--MediaBrowser.Common.Implementations/HttpServer/SwaggerService.cs38
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);
+ }
+ }
+}