mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-02-12 19:24:43 +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
|
||||
/// </summary>
|
||||
public class DefaultRequestRequestHandler : WebApiBaseRequestHandler
|
||||
{}
|
||||
{
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
public DefaultRequestRequestHandler()
|
||||
: base(true)
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -14,8 +14,10 @@ namespace PepperDash.Core.Web.RequestHandlers
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
protected WebApiBaseRequestHandler()
|
||||
protected WebApiBaseRequestHandler(bool enableCors)
|
||||
{
|
||||
EnableCors = enableCors;
|
||||
|
||||
_handlers = new Dictionary<string, Action<HttpCwsContext>>
|
||||
{
|
||||
{"CONNECT", HandleConnect},
|
||||
@@ -30,6 +32,16 @@ namespace PepperDash.Core.Web.RequestHandlers
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
protected WebApiBaseRequestHandler()
|
||||
: this(false)
|
||||
{
|
||||
}
|
||||
|
||||
protected readonly bool EnableCors;
|
||||
|
||||
/// <summary>
|
||||
/// Handles CONNECT method requests
|
||||
/// </summary>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user