diff --git a/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/DefaultRequestRequestHandler.cs b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/DefaultRequestRequestHandler.cs index e052eb3..a2ea2c0 100644 --- a/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/DefaultRequestRequestHandler.cs +++ b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/DefaultRequestRequestHandler.cs @@ -6,5 +6,12 @@ namespace PepperDash.Core.Web.RequestHandlers /// Web API default request handler /// public class DefaultRequestRequestHandler : WebApiBaseRequestHandler - {} + { + /// + /// Constructor + /// + public DefaultRequestRequestHandler() + : base(true) + { } + } } \ No newline at end of file diff --git a/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/WebApiBaseRequestHandler.cs b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/WebApiBaseRequestHandler.cs index 6d4b41c..22d9d23 100644 --- a/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/WebApiBaseRequestHandler.cs +++ b/Pepperdash Core/Pepperdash Core/Web/RequestHandlers/WebApiBaseRequestHandler.cs @@ -14,8 +14,10 @@ namespace PepperDash.Core.Web.RequestHandlers /// /// Constructor /// - protected WebApiBaseRequestHandler() + protected WebApiBaseRequestHandler(bool enableCors) { + EnableCors = enableCors; + _handlers = new Dictionary> { {"CONNECT", HandleConnect}, @@ -30,6 +32,16 @@ namespace PepperDash.Core.Web.RequestHandlers }; } + /// + /// Constructor + /// + protected WebApiBaseRequestHandler() + : this(false) + { + } + + protected readonly bool EnableCors; + /// /// Handles CONNECT method requests /// @@ -37,7 +49,7 @@ namespace PepperDash.Core.Web.RequestHandlers protected virtual void HandleConnect(HttpCwsContext context) { context.Response.StatusCode = 501; - context.Response.StatusDescription = "Not Implemented"; + context.Response.StatusDescription = "Not Implemented"; context.Response.End(); } @@ -48,7 +60,7 @@ namespace PepperDash.Core.Web.RequestHandlers protected virtual void HandleDelete(HttpCwsContext context) { context.Response.StatusCode = 501; - context.Response.StatusDescription = "Not Implemented"; + context.Response.StatusDescription = "Not Implemented"; context.Response.End(); } @@ -142,7 +154,13 @@ namespace PepperDash.Core.Web.RequestHandlers return; } + if (EnableCors) + { + context.Response.Headers.Add("Access-Control-Allow-Origin", "*"); + context.Response.Headers.Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS"); + } + handler(context); - } + } } } \ No newline at end of file