Index: src/ch/UpdateHeaders.cpp =================================================================== diff -u -r1f27a2022090cf7aaf827a3f1ad90d6fe0038518 -rd0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54 --- src/ch/UpdateHeaders.cpp (.../UpdateHeaders.cpp) (revision 1f27a2022090cf7aaf827a3f1ad90d6fe0038518) +++ src/ch/UpdateHeaders.cpp (.../UpdateHeaders.cpp) (revision d0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54) @@ -22,12 +22,13 @@ #include #include #include "..\common\version.h" +#include UpdateHeaders::UpdateHeaders() { } -std::wstring UpdateHeaders::GetUserAgent() +std::wstring UpdateHeaders::GetUserAgent(const std::wstring& wstrLanguagePath, UpdateVersionInfo::EVersionType eUpdateChannel) { std::wstring wstrUserAgent(PRODUCT_FULL_VERSION_T); wstrUserAgent += L" (" + @@ -36,19 +37,17 @@ boost::lexical_cast(PRODUCT_VERSION3) + L"." + boost::lexical_cast(PRODUCT_VERSION4) + L")"; - wstrUserAgent += L" (" + m_tWindowsVersion.GetWindowsVersion() + L")"; + wstrUserAgent += L"; " + ParseLanguagePath(wstrLanguagePath); + wstrUserAgent += L"; " + m_tWindowsVersion.GetWindowsVersion(); + wstrUserAgent += L"; " + m_tWindowsVersion.GetCpuArch(); + wstrUserAgent += L"; " + GetUpdateChannel(eUpdateChannel); return wstrUserAgent; } std::wstring UpdateHeaders::GetHeaders(const std::wstring& wstrLanguagePath, UpdateVersionInfo::EVersionType eUpdateChannel) { - std::wstring wstrLanguage; - size_t stPos = wstrLanguagePath.rfind(L'\\'); - if(stPos != std::wstring::npos) - wstrLanguage = wstrLanguagePath.substr(stPos + 1); - else - wstrLanguage = L"unknown"; + std::wstring wstrLanguage = ParseLanguagePath(wstrLanguagePath); std::wstring wstrHeaders; @@ -79,6 +78,20 @@ return wstrHeaders; } +std::wstring UpdateHeaders::ParseLanguagePath(const std::wstring &wstrLanguagePath) +{ + std::wstring wstrLanguage; + size_t stPos = wstrLanguagePath.rfind(L'\\'); + if(stPos != std::wstring::npos) + wstrLanguage = wstrLanguagePath.substr(stPos + 1); + else + wstrLanguage = L"unknown"; + + boost::ireplace_all(wstrLanguage, L".lng", L""); + + return wstrLanguage; +} + std::wstring UpdateHeaders::GetUpdateChannel(UpdateVersionInfo::EVersionType eUpdateChannel) { switch(eUpdateChannel)