diff --git a/module/Library/CURL.cpp b/module/Library/CURL.cpp index b28cd1b3..c9282ac0 100644 --- a/module/Library/CURL.cpp +++ b/module/Library/CURL.cpp @@ -639,6 +639,7 @@ void Register_CURL(HSQUIRRELVM vm) .Func(_SC("SetUnixSocket"), &CpSession::SetUnixSocket_) .Func(_SC("SetSslOptions"), &CpSession::SetSslOptions_) .Func(_SC("SetVerbose"), &CpSession::SetVerbose_) + .FmtFunc(_SC("SetUserAgent"), &CpSession::SetUserAgent) .FmtFunc(_SC("SetCookieFile"), &CpSession::SetCookieFile) .FmtFunc(_SC("SetCookieJar"), &CpSession::SetCookieJar) .Func(_SC("Delete"), &CpSession::DoDelete) diff --git a/module/Library/CURL.hpp b/module/Library/CURL.hpp index d4139dec..2c507a86 100644 --- a/module/Library/CURL.hpp +++ b/module/Library/CURL.hpp @@ -1949,6 +1949,19 @@ struct CpSession : public cpr::Session return *this; // Allow chaining } + /* -------------------------------------------------------------------------------------------- + * Modify the session cookie file name. + */ + CpSession & SetUserAgent(StackStrF & agent) + { + LockCheck(); + if (cpr::Session::GetCurlHolder()->handle) + { + curl_easy_setopt(cpr::Session::GetCurlHolder()->handle, CURLOPT_USERAGENT, agent.mPtr); + } else STHROWF("Invalid CURL session"); + return *this; // Allow chaining + } + /* -------------------------------------------------------------------------------------------- * Modify the session cookie file name. */