Index: src/ch/UpdateHeaders.cpp =================================================================== diff -u -r50ad2dc9f0b42ba432bb54e4a042582277410773 -r50007f112b77cba170e6c427fee5428bda2d9dc5 --- src/ch/UpdateHeaders.cpp (.../UpdateHeaders.cpp) (revision 50ad2dc9f0b42ba432bb54e4a042582277410773) +++ src/ch/UpdateHeaders.cpp (.../UpdateHeaders.cpp) (revision 50007f112b77cba170e6c427fee5428bda2d9dc5) @@ -36,12 +36,13 @@ boost::lexical_cast(PRODUCT_VERSION3) + L"." + boost::lexical_cast(PRODUCT_VERSION4) + L")"; - wstrUserAgent += L" (" + m_tWindowsVersion.GetWindowsVersion() + L")"; + wstrUserAgent += L"; " + m_tWindowsVersion.GetWindowsVersion(); + wstrUserAgent += L"; " + m_tWindowsVersion.GetCpuArch(); return wstrUserAgent; } -std::wstring UpdateHeaders::GetHeaders(const std::wstring& wstrLanguagePath) +std::wstring UpdateHeaders::GetHeaders(const std::wstring& wstrLanguagePath, UpdateVersionInfo::EVersionType eUpdateChannel) { std::wstring wstrLanguage; size_t stPos = wstrLanguagePath.rfind(L'\\'); @@ -71,10 +72,31 @@ wstrHeaders += L"CopyHandler-Language: " + wstrLanguage + L"\r\n"; // #todo update channel - wstrHeaders += L"CopyHandler-UpdateChannel: beta\r\n"; + wstrHeaders += L"CopyHandler-UpdateChannel: " + GetUpdateChannel(eUpdateChannel) + L"\r\n"; // finalize wstrHeaders += L"\r\n\r\n"; return wstrHeaders; } + +std::wstring UpdateHeaders::GetUpdateChannel(UpdateVersionInfo::EVersionType eUpdateChannel) +{ + switch(eUpdateChannel) + { + case UpdateVersionInfo::eAlpha: + return L"alpha"; + + case UpdateVersionInfo::eBeta: + return L"beta"; + + case UpdateVersionInfo::eReleaseCandidate: + return L"rc"; + + case UpdateVersionInfo::eStable: + return L"stable"; + + default: + return L"unknown"; + } +}