Index: src/ch/UpdateHeaders.cpp =================================================================== diff -u -N -r50007f112b77cba170e6c427fee5428bda2d9dc5 -rd0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54 --- src/ch/UpdateHeaders.cpp (.../UpdateHeaders.cpp) (revision 50007f112b77cba170e6c427fee5428bda2d9dc5) +++ 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,20 +37,17 @@ boost::lexical_cast(PRODUCT_VERSION3) + L"." + boost::lexical_cast(PRODUCT_VERSION4) + 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; @@ -80,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)