1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-08 00:37:15 +01:00

Implement cookie file/jar.

This commit is contained in:
Sandu Liviu Catalin 2021-07-02 17:45:16 +03:00
parent a152fd2600
commit 1d6bca426b
2 changed files with 29 additions and 1 deletions

View File

@ -638,7 +638,9 @@ void Register_CURL(HSQUIRRELVM vm)
.Func(_SC("SetVerifySsl"), &CpSession::SetVerifySsl_)
.Func(_SC("SetUnixSocket"), &CpSession::SetUnixSocket_)
.Func(_SC("SetSslOptions"), &CpSession::SetSslOptions_)
.FmtFunc(_SC("SetVerbose"), &CpSession::SetVerbose_)
.Func(_SC("SetVerbose"), &CpSession::SetVerbose_)
.FmtFunc(_SC("SetCookieFile"), &CpSession::SetCookieFile)
.FmtFunc(_SC("SetCookieJar"), &CpSession::SetCookieJar)
.Func(_SC("Delete"), &CpSession::DoDelete)
.Func(_SC("Get"), &CpSession::DoGet)
.Func(_SC("Head"), &CpSession::DoHead)

View File

@ -1949,6 +1949,32 @@ struct CpSession : public cpr::Session
return *this; // Allow chaining
}
/* --------------------------------------------------------------------------------------------
* Modify the session cookie file name.
*/
CpSession & SetCookieFile(StackStrF & filename)
{
LockCheck();
if (cpr::Session::GetCurlHolder()->handle)
{
curl_easy_setopt(cpr::Session::GetCurlHolder()->handle, CURLOPT_COOKIEFILE, filename.mPtr);
} else STHROWF("Invalid CURL session");
return *this; // Allow chaining
}
/* --------------------------------------------------------------------------------------------
* Modify the session cookie jar name.
*/
CpSession & SetCookieJar(StackStrF & filename)
{
LockCheck();
if (cpr::Session::GetCurlHolder()->handle)
{
curl_easy_setopt(cpr::Session::GetCurlHolder()->handle, CURLOPT_COOKIEJAR, filename.mPtr);
} else STHROWF("Invalid CURL session");
return *this; // Allow chaining
}
/* --------------------------------------------------------------------------------------------
* Delete request.
*/