return types::Function::Error;
}
+ sciCurlObj->setCommonHeaders(curl);
+
char* pcURL = wide_string_to_UTF8(in[0]->getAs<types::String>()->get(0));
curl_easy_setopt(curl, CURLOPT_URL, pcURL);
FREE(pcURL);
return types::Function::Error;
}
+ sciCurlObj->setCommonHeaders(curl);
+
char* pcURL = wide_string_to_UTF8(in[0]->getAs<types::String>()->get(0));
curl_easy_setopt(curl, CURLOPT_URL, pcURL);
FREE(pcURL);
if(_iRetCount == 2)
{
long http_code = 0;
- curl_easy_getinfo (curl, CURLINFO_RESPONSE_CODE, &http_code);
+ curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code);
out.push_back(new types::Double((double)http_code));
}
return types::Function::Error;
}
+ sciCurlObj->setCommonHeaders(curl);
+
char* pcURL = wide_string_to_UTF8(in[0]->getAs<types::String>()->get(0));
curl_easy_setopt(curl, CURLOPT_URL, pcURL);
FREE(pcURL);
return types::Function::Error;
}
+ sciCurlObj->setCommonHeaders(curl);
+
char* pcURL = wide_string_to_UTF8(in[0]->getAs<types::String>()->get(0));
curl_easy_setopt(curl, CURLOPT_URL, pcURL);
FREE(pcURL);
{
#include "getScilabPreference.h"
#include "freeArrayOfString.h"
+ #include "getos.h"
+ #include "version.h"
}
SciCurl* SciCurl::me = nullptr;
freeArrayOfString(values, N);
return 0;
}
+
+void SciCurl::setCommonHeaders(CURL* curl)
+{
+ char* OperatingSystem = getOSFullName();
+ char* Release = getOSRelease();
+
+ // Scilab version
+ std::string pcUserAgent = "Scilab/" + std::to_string(SCI_VERSION_MAJOR)+"."+ std::to_string(SCI_VERSION_MINOR)+"."+ std::to_string(SCI_VERSION_MAINTENANCE);
+ // OS name
+ pcUserAgent += " (" + std::string(OperatingSystem) + " " + std::string(Release) + ")";
+ // set user agent header
+ curl_easy_setopt(curl, CURLOPT_USERAGENT, pcUserAgent.data());
+
+ FREE(OperatingSystem);
+ FREE(Release);
+}
\ No newline at end of file
void getResultAsObject(CURL* curl);
void getResultAsFile(CURL* curl, FILE* fd);
int setProxy(CURL* curl);
+ void setCommonHeaders(CURL* curl);
types::InternalType* getResult(void);
void clear(void);