From d04774cab5123fd014eb7c9c9a878f536579fbd1 Mon Sep 17 00:00:00 2001 From: Erik Zandvliet Date: Tue, 17 May 2016 14:56:03 +0200 Subject: [PATCH] Use only session id when one is available, strips out user-agent multiples on apple devices. --- src/output/output_http.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/output/output_http.cpp b/src/output/output_http.cpp index 0505f294..dcec6dd8 100644 --- a/src/output/output_http.cpp +++ b/src/output/output_http.cpp @@ -211,8 +211,15 @@ namespace Mist { void HTTPOutput::onRequest(){ while (H.Read(myConn)){ - std::string ua = H.GetHeader("User-Agent") + H.GetHeader("X-Playback-Session-Id") + H.GetVar("sessId"); - crc = checksum::crc32(0, ua.data(), ua.size()); + //If no sessionID --> take first 2, else take session id. + if (H.GetVar("sessId").size()){ + std::string ua = H.GetVar("sessId"); + crc = checksum::crc32(0, ua.data(), ua.size()); + }else{ + std::string ua = H.GetHeader("User-Agent") + H.GetHeader("X-Playback-Session-Id"); + crc = checksum::crc32(0, ua.data(), ua.size()); + } + INFO_MSG("Received request %s", H.getUrl().c_str()); selectedTracks.clear(); if (H.GetVar("audio") != ""){