调整类重载,修复部分BUG,增加请求头检查
This commit is contained in:
@@ -82,13 +82,13 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
|
||||
std::string host = request->HasHeader("Host") ? request->GetHeader("Host") : "";
|
||||
if ((!host.empty()) && (!GlobalCORSConfig.HostValidate(host)))
|
||||
{
|
||||
SCLOG_WARNING("Rejected by Host check: %s", host.c_str());
|
||||
SCLOGF_WARNING("Rejected by Host check: {}", host);
|
||||
return uns::ResponseBuilder().Forbidden().EmptyBody()();
|
||||
}
|
||||
|
||||
if(!GlobalCORSConfig.UrlValidate(origin))
|
||||
{
|
||||
SCLOG_WARNING("Invalid CORS Origin: %s", origin.c_str());
|
||||
SCLOGF_WARNING("Invalid CORS Origin: {}", origin);
|
||||
return uns::ResponseBuilder().Forbidden().EmptyBody()();
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
|
||||
for(const auto& method : acrm_values)
|
||||
if(!GlobalCORSConfig.IsMethodAllowed(method))
|
||||
{
|
||||
SCLOG_WARNING("Invalid CORS Method: %s (All Methods: %d)", method.c_str(), acrm.c_str());
|
||||
SCLOGF_WARNING("Invalid CORS Method: {} (All Methods: {})", method, acrm);
|
||||
return uns::ResponseBuilder().NotAcceptable().EmptyBody()();
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
|
||||
auto valid_headers = GlobalCORSConfig.GetValidateHeaders(acrh_values);
|
||||
if((!acrh_values.empty()) && valid_headers.empty())
|
||||
{
|
||||
SCLOG_WARNING("Invalid CORS Header(s): %s", acrh.c_str());
|
||||
SCLOGF_WARNING("Invalid CORS Header(s): {}", acrh);
|
||||
return uns::ResponseBuilder().NotAcceptable().EmptyBody()();
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
|
||||
return uns::ResponseBuilder().Forbidden().EmptyBody()();
|
||||
}
|
||||
|
||||
SCLOG_INFO("CORS preflight allow origin=%s methods=%s headers=%s cred=%d", origin.c_str(), allow_methods_value.c_str(), valid_headers.c_str(), GlobalCORSConfig.AllowCookie() ? 1 : 0);
|
||||
SCLOGF_INFO("CORS preflight allow origin={} methods={} headers={} cred={}", origin, allow_methods_value, valid_headers, GlobalCORSConfig.AllowCookie() ? 1 : 0);
|
||||
return uns::ResponseBuilder().CORS_Full(origin, acrh_values).NoContent().EmptyBody()();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user