diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
index 55c4a20..b4785a2 100644
--- a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
+++ b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
@@ -93,9 +93,9 @@
-
-
-
+
+
+
diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj.DotSettings b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj.DotSettings
index 8107a4f..8e644b9 100644
--- a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj.DotSettings
+++ b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj.DotSettings
@@ -1,2 +1,3 @@
- True
\ No newline at end of file
+ True
+ False
\ No newline at end of file
diff --git a/Pepperdash Core/Pepperdash Core/CrestronWebServer/CwsDefaultRequestHandler.cs b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/DefaultRequestRequestHandler.cs
similarity index 92%
rename from Pepperdash Core/Pepperdash Core/CrestronWebServer/CwsDefaultRequestHandler.cs
rename to Pepperdash Core/Pepperdash Core/Web/RequestHandlers/DefaultRequestRequestHandler.cs
index 3a91114..38dd6b3 100644
--- a/Pepperdash Core/Pepperdash Core/CrestronWebServer/CwsDefaultRequestHandler.cs
+++ b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/DefaultRequestRequestHandler.cs
@@ -1,8 +1,8 @@
using Crestron.SimplSharp.WebScripting;
-namespace PepperDash.Core
+namespace PepperDash.Core.Web.RequestHandlers
{
- public class CwsDefaultRequestHandler : CwsBaseHandler
+ public class DefaultRequestRequestHandler : WebApiBaseRequestHandler
{
///
/// Handles CONNECT method requests
diff --git a/Pepperdash Core/Pepperdash Core/CrestronWebServer/CwsBaseHandler.cs b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/WebApiBaseRequestHandler.cs
similarity index 92%
rename from Pepperdash Core/Pepperdash Core/CrestronWebServer/CwsBaseHandler.cs
rename to Pepperdash Core/Pepperdash Core/Web/RequestHandlers/WebApiBaseRequestHandler.cs
index f9e25bf..6d4b41c 100644
--- a/Pepperdash Core/Pepperdash Core/CrestronWebServer/CwsBaseHandler.cs
+++ b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/WebApiBaseRequestHandler.cs
@@ -1,21 +1,20 @@
using System;
using System.Collections.Generic;
using Crestron.SimplSharp.WebScripting;
-using Newtonsoft.Json;
-namespace PepperDash.Core
+namespace PepperDash.Core.Web.RequestHandlers
{
///
/// CWS Base Handler, implements IHttpCwsHandler
///
- public abstract class CwsBaseHandler : IHttpCwsHandler
+ public abstract class WebApiBaseRequestHandler : IHttpCwsHandler
{
private readonly Dictionary> _handlers;
///
/// Constructor
///
- protected CwsBaseHandler()
+ protected WebApiBaseRequestHandler()
{
_handlers = new Dictionary>
{
diff --git a/Pepperdash Core/Pepperdash Core/CrestronWebServer/GenericCwsBase.cs b/Pepperdash Core/Pepperdash Core/Web/WebApiServer.cs
similarity index 86%
rename from Pepperdash Core/Pepperdash Core/CrestronWebServer/GenericCwsBase.cs
rename to Pepperdash Core/Pepperdash Core/Web/WebApiServer.cs
index 0bfbb63..6843e25 100644
--- a/Pepperdash Core/Pepperdash Core/CrestronWebServer/GenericCwsBase.cs
+++ b/Pepperdash Core/Pepperdash Core/Web/WebApiServer.cs
@@ -1,12 +1,14 @@
using System;
using Crestron.SimplSharp;
using Crestron.SimplSharp.WebScripting;
+using PepperDash.Core.Web.RequestHandlers;
-namespace PepperDash.Core
+namespace PepperDash.Core.Web
{
- public class GenericCwsBase : Device
+ public class WebApiServer : IKeyName
{
- private const string SplusKey = "Uninitialized CWS Server";
+ private const string SplusKey = "Uninitialized Web API Server";
+ private const string DefaultName = "Web API Server";
private const string DefaultBasePath = "/api";
private const uint DebugTrace = 0;
@@ -16,6 +18,9 @@ namespace PepperDash.Core
private HttpCwsServer _server;
private readonly CCriticalSection _serverLock = new CCriticalSection();
+ public string Key { get; private set; }
+ public string Name { get; private set; }
+
///
/// CWS base path, will default to "/api" if not set via initialize method
///
@@ -29,11 +34,9 @@ namespace PepperDash.Core
///
/// Constructor for S+. Make sure to set necessary properties using init method
///
- public GenericCwsBase()
- : base(SplusKey)
- {
- CrestronEnvironment.ProgramStatusEventHandler += CrestronEnvironment_ProgramStatusEventHandler;
- CrestronEnvironment.EthernetEventHandler += CrestronEnvironment_EthernetEventHandler;
+ public WebApiServer()
+ : this(SplusKey, DefaultName, null)
+ {
}
///
@@ -41,10 +44,9 @@ namespace PepperDash.Core
///
///
///
- public GenericCwsBase(string key, string basePath)
- : base(key)
+ public WebApiServer(string key, string basePath)
+ : this(key, DefaultName, basePath)
{
- BasePath = string.IsNullOrEmpty(basePath) ? DefaultBasePath : basePath;
}
///
@@ -53,10 +55,14 @@ namespace PepperDash.Core
///
///
///
- public GenericCwsBase(string key, string name, string basePath)
- : base(key, name)
+ public WebApiServer(string key, string name, string basePath)
{
+ Key = key;
+ Name = string.IsNullOrEmpty(name) ? DefaultName : name;
BasePath = string.IsNullOrEmpty(basePath) ? DefaultBasePath : basePath;
+
+ CrestronEnvironment.ProgramStatusEventHandler += CrestronEnvironment_ProgramStatusEventHandler;
+ CrestronEnvironment.EthernetEventHandler += CrestronEnvironment_EthernetEventHandler;
}
///
@@ -148,7 +154,7 @@ namespace PepperDash.Core
_server = new HttpCwsServer(BasePath)
{
- HttpRequestHandler = new CwsDefaultRequestHandler()
+ HttpRequestHandler = new DefaultRequestRequestHandler()
};
IsRegistered = _server.Register();