Изменить глобальный asp.net WebApiConfig перед запросом
У меня есть C# Web-API и в Application_Start() я настраиваю маршруты, форматеры и домены cors. Моя проблема в том, что в зависимости от источника запроса мне нужно добавить больше доменов в cors-домены. (например, если запрос приходит от 123.com, есть домены morors, а не asd.com). Я подумал о добавлении дополнительных доменов cors в Application_BeginRequest:
void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication app = (HttpApplication)source;
HttpContext context = app.Context;
// Attempt to peform first request initialization
FirstRequestInitialization.Initialize(context);
var corsDomains = Settings.Default.CORS_Domains;
if (originheader.equals("somevalue"))
{
corsDomains += ", " + Settings.Default.CORS_SomeValue_Domains;
}
var cors = new EnableCorsAttribute(corsDomains, "*", "*")
{
SupportsCredentials = true
};
HttpConfiguration config = //where to get config?
config.EnableCors(cors);
}
Есть ли способ получить и изменить конфиг? Большое спасибо за Вашу помощь.
Изменить: Может быть, пример может уточнить, что мне нужно:
запрос приходит от asdf.org: cors-домены должны быть: base.com, home.org, jkl.net (но НЕ qwer.com)
запрос приходит с test.com: cors-домены должны быть: base.com, home.org, qwer.com (но НЕ jkl.net)
в Settings.Default у меня есть несколько списков:
CORS_BASE: base.com, home.org
CORS_ASDF: jkl.net
CORS_TEST: qwer.com
как добавить дополнительный список в домены cors в соответствии с источником запроса?