add Access-Control-Allow-Credentials for simple requests too
This commit is contained in:
parent
9f64692ede
commit
04164ff967
|
@ -1531,17 +1531,29 @@ void Request::PrepareSessionCookie()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Request::CheckOriginHeader()
|
// preflight request are tested in function->MakeOption()
|
||||||
|
void Request::CheckCorsHeaders()
|
||||||
{
|
{
|
||||||
pt::Space * origin = headers_in.get_space_nc(L"Origin");
|
pt::Space * origin = headers_in.get_space_nc(L"Origin");
|
||||||
|
|
||||||
if( origin && origin->is_wstr() && !out_headers.has_key(Header::access_control_allow_origin) )
|
if( origin && origin->is_wstr() && function )
|
||||||
{
|
{
|
||||||
if( function && function->IsCorsOriginAvailable(*origin->get_wstr()) )
|
if( !out_headers.has_key(Header::access_control_allow_origin) )
|
||||||
|
{
|
||||||
|
if( function->IsCorsOriginAvailable(*origin->get_wstr()) )
|
||||||
{
|
{
|
||||||
function->AddAccessControlAllowOriginHeader(*origin->get_wstr());
|
function->AddAccessControlAllowOriginHeader(*origin->get_wstr());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( !out_headers.has_key(Header::access_control_allow_credentials) )
|
||||||
|
{
|
||||||
|
if( function->AreCorsCredentialsAvailable() )
|
||||||
|
{
|
||||||
|
function->AddAccessControlAllowCredentialsHeader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1549,7 +1561,7 @@ void Request::CheckOriginHeader()
|
||||||
void Request::PrepareHeaders(bool compressing, int compress_encoding, size_t output_size)
|
void Request::PrepareHeaders(bool compressing, int compress_encoding, size_t output_size)
|
||||||
{
|
{
|
||||||
PrepareSessionCookie();
|
PrepareSessionCookie();
|
||||||
CheckOriginHeader();
|
CheckCorsHeaders();
|
||||||
|
|
||||||
if( send_as_attachment )
|
if( send_as_attachment )
|
||||||
{
|
{
|
||||||
|
|
|
@ -595,7 +595,7 @@ private:
|
||||||
int SelectDeflateVersion();
|
int SelectDeflateVersion();
|
||||||
void SelectCompression(size_t source_len, bool & compression_allowed, int & compression_encoding);
|
void SelectCompression(size_t source_len, bool & compression_allowed, int & compression_encoding);
|
||||||
void PrepareSessionCookie();
|
void PrepareSessionCookie();
|
||||||
void CheckOriginHeader();
|
void CheckCorsHeaders();
|
||||||
void PrepareHeaders(bool compressing, int compress_encoding, size_t output_size);
|
void PrepareHeaders(bool compressing, int compress_encoding, size_t output_size);
|
||||||
void ModifyStatusForRedirect();
|
void ModifyStatusForRedirect();
|
||||||
void PrepareSendFileHeaderForStaticMountpoint();
|
void PrepareSendFileHeaderForStaticMountpoint();
|
||||||
|
|
Loading…
Reference in New Issue