From 4d1f10a30d531531611154ff9f95f05859e30503 Mon Sep 17 00:00:00 2001 From: Theo Fischer Date: Sun, 17 Aug 2025 12:01:32 +0200 Subject: [PATCH] improve readability --- src/invidious/routes/errors.cr | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/invidious/routes/errors.cr b/src/invidious/routes/errors.cr index 4b021ed6..2ac6b436 100644 --- a/src/invidious/routes/errors.cr +++ b/src/invidious/routes/errors.cr @@ -4,8 +4,10 @@ module Invidious::Routes::ErrorRoutes if HOST_URL.empty? && env.request.path.starts_with?("/v1/storyboards/sb") return env.redirect "#{env.request.path[15..]}?#{env.params.query}" end + if md = env.request.path.match(/^\/(?([a-zA-Z0-9_-]{11})|(\w+))$/) item = md["id"] + # Check if item is branding URL e.g. https://youtube.com/gaming headers = HTTP::Headers{ "Cookie" => "SOCS=CAE" # Cookies to prevent redirects to Cookie Consent Page CAE~Reject all, CAA~showing the cookie banner, CAI~Accept all @@ -33,10 +35,12 @@ module Invidious::Routes::ErrorRoutes params << "#{k}=#{v}" end params = params.join("&") + url = "/watch?v=#{item}" if !params.empty? url += "&#{params}" end + # Check if item is video ID if item.match(/^[a-zA-Z0-9_-]{11}$/) && YT_POOL.client &.head("/watch?v=#{item}").status_code != 404 env.response.headers["Location"] = url