Add wxWebCredentials and use it in SetCredentials()

Prefer using a class encapsulating both the user name and the password
to using a pair of variables.
This commit is contained in:
Vadim Zeitlin
2021-01-10 01:22:40 +01:00
parent fe197d7527
commit 1e6d6be8bb
9 changed files with 87 additions and 24 deletions

View File

@@ -319,9 +319,15 @@ bool wxWebAuthChallengeCURL::Init()
return true;
}
void wxWebAuthChallengeCURL::SetCredentials(const wxString& user, const wxString& password)
void wxWebAuthChallengeCURL::SetCredentials(const wxWebCredentials& cred)
{
wxString authStr = wxString::Format("%s:%s", user, password);
const wxSecretString authStr =
wxString::Format
(
"%s:%s",
cred.GetUser(),
static_cast<const wxString&>(wxSecretString(cred.GetPassword()))
);
curl_easy_setopt(m_request.GetHandle(),
(GetSource() == wxWebAuthChallenge::Source_Proxy) ? CURLOPT_PROXYUSERPWD : CURLOPT_USERPWD,
static_cast<const char*>(authStr.mb_str()));