set Access-Control-Allow-Credentials if available
This commit is contained in:
parent
8b9ad5d079
commit
9f64692ede
|
@ -54,10 +54,11 @@ public:
|
|||
static constexpr const wchar_t * accept_language = L"Accept-Language";
|
||||
static constexpr const wchar_t * authorization = L"Authorization";
|
||||
static constexpr const wchar_t * allow = L"Allow";
|
||||
static constexpr const wchar_t * access_control_allow_methods = L"Access-Control-Allow-Methods";
|
||||
static constexpr const wchar_t * access_control_allow_origin = L"Access-Control-Allow-Origin";
|
||||
static constexpr const wchar_t * access_control_allow_headers = L"Access-Control-Allow-Headers";
|
||||
static constexpr const wchar_t * access_control_max_age = L"Access-Control-Max-Age";
|
||||
static constexpr const wchar_t * access_control_allow_methods = L"Access-Control-Allow-Methods";
|
||||
static constexpr const wchar_t * access_control_allow_origin = L"Access-Control-Allow-Origin";
|
||||
static constexpr const wchar_t * access_control_allow_headers = L"Access-Control-Allow-Headers";
|
||||
static constexpr const wchar_t * access_control_allow_credentials = L"Access-Control-Allow-Credentials";
|
||||
static constexpr const wchar_t * access_control_max_age = L"Access-Control-Max-Age";
|
||||
|
||||
/*
|
||||
* headers' names lower case
|
||||
|
|
|
@ -170,6 +170,12 @@ bool FunctionBase::IsCorsOriginAvailable(const std::wstring & origin_url)
|
|||
}
|
||||
|
||||
|
||||
bool FunctionBase::AreCorsCredentialsAvailable()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool FunctionBase::AreCorsHeadersAvailable(const std::wstring & headers)
|
||||
{
|
||||
// true by default for all headers
|
||||
|
@ -227,6 +233,13 @@ void FunctionBase::AddAccessControlMaxAgeHeader()
|
|||
}
|
||||
|
||||
|
||||
void FunctionBase::AddAccessControlAllowCredentialsHeader()
|
||||
{
|
||||
cur->request->AddHeader(Header::access_control_allow_credentials, L"true");
|
||||
}
|
||||
|
||||
|
||||
|
||||
void FunctionBase::MakeGet()
|
||||
{
|
||||
// do nothing by default
|
||||
|
@ -293,6 +306,11 @@ void FunctionBase::MakeOptions()
|
|||
AddAccessControlAllowOriginHeader(*cors_origin->get_wstr());
|
||||
AddAccessControlMaxAgeHeader();
|
||||
|
||||
if( AreCorsCredentialsAvailable() )
|
||||
{
|
||||
AddAccessControlAllowCredentialsHeader();
|
||||
}
|
||||
|
||||
if( cors_headers && cors_headers->is_wstr() )
|
||||
{
|
||||
AddAccessControlAllowHeadersHeader(*cors_headers->get_wstr());
|
||||
|
|
|
@ -113,12 +113,14 @@ public:
|
|||
|
||||
virtual bool IsCorsMethodAvailable(Request::Method method);
|
||||
virtual bool IsCorsOriginAvailable(const std::wstring & origin_url);
|
||||
virtual bool AreCorsCredentialsAvailable();
|
||||
virtual bool AreCorsHeadersAvailable(const std::wstring & headers);
|
||||
|
||||
virtual void AddAccessControlAllowMethodsHeader(Request::Method method);
|
||||
virtual void AddAccessControlAllowOriginHeader(const std::wstring & origin_url);
|
||||
virtual void AddAccessControlAllowHeadersHeader(const std::wstring & headers);
|
||||
virtual void AddAccessControlMaxAgeHeader();
|
||||
virtual void AddAccessControlAllowCredentialsHeader();
|
||||
|
||||
|
||||
virtual void MakeGet();
|
||||
|
|
Loading…
Reference in New Issue