From b37f51bd7f5c8bc921a72ab3e549e878746e98de Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Sat, 4 Apr 2020 15:31:24 -0500 Subject: [PATCH] Fix /c/ redirect --- src/invidious.cr | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/invidious.cr b/src/invidious.cr index 73546d7d..3ceac127 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -3467,14 +3467,12 @@ get "/c/:user" do |env| user = env.params.url["user"] response = YT_POOL.client &.get("/c/#{user}") - document = XML.parse_html(response.body) + html = XML.parse_html(response.body) - anchor = document.xpath_node(%q(//a[contains(@class,"branded-page-header-title-link")])) - if !anchor - next env.redirect "/" - end + ucid = html.xpath_node(%q(//link[@rel="canonical"])).try &.["href"].split("/")[-1] + next env.redirect "/" if !ucid - env.redirect anchor["href"] + env.redirect "/channel/#{ucid}" end # Legacy endpoint for /user/:username