From cfe9d47fa000bb7ba1add20ef41408c19e0df33d Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Thu, 25 Jul 2019 10:34:01 -0500 Subject: [PATCH] Add support for '/embed/?list' --- src/invidious.cr | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/invidious.cr b/src/invidious.cr index a3b5bd1a..835cffc7 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -532,6 +532,30 @@ get "/watch" do |env| templated "watch" end +get "/embed/" do |env| + locale = LOCALES[env.get("preferences").as(Preferences).locale]? + + if plid = env.params.query["list"]? + begin + videos = fetch_playlist_videos(plid, 1, 1, locale: locale) + rescue ex + error_message = ex.message + env.response.status_code = 500 + next templated "error" + end + + url = "/embed/#{videos[0].id}?#{env.params.query}" + + if env.params.query.size > 0 + url += "?#{env.params.query}" + end + else + url = "/" + end + + env.redirect url +end + get "/embed/:id" do |env| locale = LOCALES[env.get("preferences").as(Preferences).locale]? id = env.params.url["id"]