mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-02-16 13:14:49 +00:00
Merge pull request #155 from PepperDash/development
Update Release from dev
This commit is contained in:
@@ -93,7 +93,7 @@
|
|||||||
<Compile Include="Comm\TcpServerConfigObject.cs" />
|
<Compile Include="Comm\TcpServerConfigObject.cs" />
|
||||||
<Compile Include="Config\PortalConfigReader.cs" />
|
<Compile Include="Config\PortalConfigReader.cs" />
|
||||||
<Compile Include="CoreInterfaces.cs" />
|
<Compile Include="CoreInterfaces.cs" />
|
||||||
<Compile Include="Web\RequestHandlers\DefaultRequestRequestHandler.cs" />
|
<Compile Include="Web\RequestHandlers\DefaultRequestHandler.cs" />
|
||||||
<Compile Include="Web\RequestHandlers\WebApiBaseRequestHandler.cs" />
|
<Compile Include="Web\RequestHandlers\WebApiBaseRequestHandler.cs" />
|
||||||
<Compile Include="Web\WebApiServer.cs" />
|
<Compile Include="Web\WebApiServer.cs" />
|
||||||
<Compile Include="EventArgs.cs" />
|
<Compile Include="EventArgs.cs" />
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using Crestron.SimplSharp.WebScripting;
|
||||||
|
|
||||||
|
namespace PepperDash.Core.Web.RequestHandlers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Web API default request handler
|
||||||
|
/// </summary>
|
||||||
|
public class DefaultRequestHandler : WebApiBaseRequestHandler
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public DefaultRequestHandler()
|
||||||
|
: base(true)
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
using Crestron.SimplSharp.WebScripting;
|
|
||||||
|
|
||||||
namespace PepperDash.Core.Web.RequestHandlers
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Web API default request handler
|
|
||||||
/// </summary>
|
|
||||||
public class DefaultRequestRequestHandler : WebApiBaseRequestHandler
|
|
||||||
{}
|
|
||||||
}
|
|
||||||
@@ -10,12 +10,15 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
public abstract class WebApiBaseRequestHandler : IHttpCwsHandler
|
public abstract class WebApiBaseRequestHandler : IHttpCwsHandler
|
||||||
{
|
{
|
||||||
private readonly Dictionary<string, Action<HttpCwsContext>> _handlers;
|
private readonly Dictionary<string, Action<HttpCwsContext>> _handlers;
|
||||||
|
protected readonly bool EnableCors;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor
|
/// Constructor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected WebApiBaseRequestHandler()
|
protected WebApiBaseRequestHandler(bool enableCors)
|
||||||
{
|
{
|
||||||
|
EnableCors = enableCors;
|
||||||
|
|
||||||
_handlers = new Dictionary<string, Action<HttpCwsContext>>
|
_handlers = new Dictionary<string, Action<HttpCwsContext>>
|
||||||
{
|
{
|
||||||
{"CONNECT", HandleConnect},
|
{"CONNECT", HandleConnect},
|
||||||
@@ -30,6 +33,14 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
protected WebApiBaseRequestHandler()
|
||||||
|
: this(false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handles CONNECT method requests
|
/// Handles CONNECT method requests
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -37,7 +48,7 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
protected virtual void HandleConnect(HttpCwsContext context)
|
protected virtual void HandleConnect(HttpCwsContext context)
|
||||||
{
|
{
|
||||||
context.Response.StatusCode = 501;
|
context.Response.StatusCode = 501;
|
||||||
context.Response.StatusDescription = "Not Implemented";
|
context.Response.StatusDescription = "Not Implemented";
|
||||||
context.Response.End();
|
context.Response.End();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +59,7 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
protected virtual void HandleDelete(HttpCwsContext context)
|
protected virtual void HandleDelete(HttpCwsContext context)
|
||||||
{
|
{
|
||||||
context.Response.StatusCode = 501;
|
context.Response.StatusCode = 501;
|
||||||
context.Response.StatusDescription = "Not Implemented";
|
context.Response.StatusDescription = "Not Implemented";
|
||||||
context.Response.End();
|
context.Response.End();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,7 +153,13 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (EnableCors)
|
||||||
|
{
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
|
||||||
|
}
|
||||||
|
|
||||||
handler(context);
|
handler(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -100,7 +100,7 @@ namespace PepperDash.Core.Web
|
|||||||
if (_server == null) _server = new HttpCwsServer(BasePath);
|
if (_server == null) _server = new HttpCwsServer(BasePath);
|
||||||
|
|
||||||
_server.setProcessName(Key);
|
_server.setProcessName(Key);
|
||||||
_server.HttpRequestHandler = new DefaultRequestRequestHandler();
|
_server.HttpRequestHandler = new DefaultRequestHandler();
|
||||||
|
|
||||||
CrestronEnvironment.ProgramStatusEventHandler += CrestronEnvironment_ProgramStatusEventHandler;
|
CrestronEnvironment.ProgramStatusEventHandler += CrestronEnvironment_ProgramStatusEventHandler;
|
||||||
CrestronEnvironment.EthernetEventHandler += CrestronEnvironment_EthernetEventHandler;
|
CrestronEnvironment.EthernetEventHandler += CrestronEnvironment_EthernetEventHandler;
|
||||||
|
|||||||
Reference in New Issue
Block a user