Fix /c/ redirect

This commit is contained in:
Omar Roth 2020-04-04 15:31:24 -05:00
parent eb8b0f72cc
commit b37f51bd7f
No known key found for this signature in database
GPG Key ID: B8254FB7EC3D37F2
1 changed files with 4 additions and 6 deletions

View File

@ -3467,14 +3467,12 @@ get "/c/:user" do |env|
user = env.params.url["user"] user = env.params.url["user"]
response = YT_POOL.client &.get("/c/#{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")])) ucid = html.xpath_node(%q(//link[@rel="canonical"])).try &.["href"].split("/")[-1]
if !anchor next env.redirect "/" if !ucid
next env.redirect "/"
end
env.redirect anchor["href"] env.redirect "/channel/#{ucid}"
end end
# Legacy endpoint for /user/:username # Legacy endpoint for /user/:username