@@ -239,6 +239,18 @@ function updateEpisodes(refreshModel) {
239239 xhr[i].open("GET", url);
240240 xhr[i].onreadystatechange = function() {
241241 if (xhr[i].readyState === XMLHttpRequest.DONE) {
242+ const location = xhr[i].getResponseHeader('Location');
243+ if (location) {
244+ // for some reason a 302 will also include anything that was
245+ // returned in the original redirect in the body, breaking XML
246+ // just re-launch the request with the new location
247+ const newXhr = new XMLHttpRequest();
248+ newXhr.open("GET", location);
249+ newXhr.onreadystatechange = xhr[i].onreadystatechange;
250+ newXhr.send();
251+ xhr[i] = newXhr;
252+ return;
253+ }
242254 xhrComplete[i] = true;
243255
244256 try {