mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-02-16 13:14:49 +00:00
fix: add CORS headers to all responses
Added EnableCors field,used to enable CORS support. Enabled CORS in default request handler for all requests.
This commit is contained in:
@@ -6,5 +6,12 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
/// Web API default request handler
|
/// Web API default request handler
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class DefaultRequestRequestHandler : WebApiBaseRequestHandler
|
public class DefaultRequestRequestHandler : WebApiBaseRequestHandler
|
||||||
{}
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public DefaultRequestRequestHandler()
|
||||||
|
: base(true)
|
||||||
|
{ }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -14,8 +14,10 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
/// <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 +32,16 @@ namespace PepperDash.Core.Web.RequestHandlers
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
protected WebApiBaseRequestHandler()
|
||||||
|
: this(false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected readonly bool EnableCors;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handles CONNECT method requests
|
/// Handles CONNECT method requests
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -37,7 +49,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 +60,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 +154,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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user