mirror of
https://github.com/iv-org/invidious.git
synced 2024-12-22 13:33:38 +00:00
encode parameters retrieved from url
This commit is contained in:
parent
42d588b2d5
commit
9b995d6dec
@ -395,7 +395,7 @@ module Invidious::Routes::API::V1::Channels
|
||||
locale = env.get("preferences").as(Preferences).locale
|
||||
|
||||
env.response.content_type = "application/json"
|
||||
id = env.params.url["id"].to_s
|
||||
id = URI.encode_www_form(env.params.url["id"].to_s)
|
||||
ucid = env.params.query["ucid"]?
|
||||
|
||||
thin_mode = env.params.query["thin_mode"]?
|
||||
@ -407,9 +407,9 @@ module Invidious::Routes::API::V1::Channels
|
||||
if ucid.nil?
|
||||
response = YoutubeAPI.resolve_url("https://www.youtube.com/post/#{id}")
|
||||
return error_json(400, "Invalid post ID") if response["error"]?
|
||||
ucid = response.dig("endpoint", "browseEndpoint", "browseId").as_s
|
||||
ucid = URI.encode_www_form(response.dig("endpoint", "browseEndpoint", "browseId").as_s)
|
||||
else
|
||||
ucid = ucid.to_s
|
||||
ucid = URI.encode_www_form(ucid.to_s)
|
||||
end
|
||||
|
||||
begin
|
||||
@ -424,7 +424,7 @@ module Invidious::Routes::API::V1::Channels
|
||||
|
||||
env.response.content_type = "application/json"
|
||||
|
||||
id = env.params.url["id"]
|
||||
id = URI.encode_www_form(env.params.url["id"])
|
||||
|
||||
thin_mode = env.params.query["thin_mode"]?
|
||||
thin_mode = thin_mode == "true"
|
||||
@ -438,9 +438,9 @@ module Invidious::Routes::API::V1::Channels
|
||||
if ucid.nil?
|
||||
response = YoutubeAPI.resolve_url("https://www.youtube.com/post/#{id}")
|
||||
return error_json(400, "Invalid post ID") if response["error"]?
|
||||
ucid = response.dig("endpoint", "browseEndpoint", "browseId").as_s
|
||||
ucid = URI.encode_www_form(response.dig("endpoint", "browseEndpoint", "browseId").as_s)
|
||||
else
|
||||
ucid = ucid.to_s
|
||||
ucid = URI.encode_www_form(ucid.to_s)
|
||||
end
|
||||
|
||||
case continuation
|
||||
|
@ -392,7 +392,7 @@ module Invidious::Routes::API::V1::Videos
|
||||
|
||||
env.response.content_type = "application/json"
|
||||
|
||||
clip_id = env.params.url["id"]
|
||||
clip_id = URI.encode_www_form(env.params.url["id"])
|
||||
region = env.params.query["region"]?
|
||||
proxy = {"1", "true"}.any? &.== env.params.query["local"]?
|
||||
|
||||
|
@ -239,7 +239,7 @@ module Invidious::Routes::Channels
|
||||
|
||||
def self.post(env)
|
||||
# /post/{postId}
|
||||
id = env.params.url["id"]
|
||||
id = URI.encode_www_form(env.params.url["id"])
|
||||
ucid = env.params.query["ucid"]?
|
||||
|
||||
prefs = env.get("preferences").as(Preferences)
|
||||
@ -255,14 +255,14 @@ module Invidious::Routes::Channels
|
||||
nojs = nojs == "1"
|
||||
|
||||
if !ucid.nil?
|
||||
ucid = ucid.to_s
|
||||
ucid = URI.encode_www_form(ucid.to_s)
|
||||
post_response = fetch_channel_community_post(ucid, id, locale, "json", thin_mode)
|
||||
else
|
||||
# resolve the url to get the author's UCID
|
||||
response = YoutubeAPI.resolve_url("https://www.youtube.com/post/#{id}")
|
||||
return error_template(400, "Invalid post ID") if response["error"]?
|
||||
|
||||
ucid = response.dig("endpoint", "browseEndpoint", "browseId").as_s
|
||||
ucid = URI.encode_www_form(response.dig("endpoint", "browseEndpoint", "browseId").as_s)
|
||||
post_response = fetch_channel_community_post(ucid, id, locale, "json", thin_mode)
|
||||
end
|
||||
|
||||
|
@ -338,7 +338,7 @@ module Invidious::Routes::Watch
|
||||
locale = env.get("preferences").as(Preferences).locale
|
||||
region = env.params.query["region"]?
|
||||
|
||||
id = env.params.query["id"]
|
||||
id = URI.encode_www_form(env.params.query["id"])
|
||||
continuation = env.params.query["continuation"]?
|
||||
|
||||
source = env.params.query["source"]? || "youtube"
|
||||
@ -356,9 +356,9 @@ module Invidious::Routes::Watch
|
||||
if ucid.nil?
|
||||
response = YoutubeAPI.resolve_url("https://www.youtube.com/post/#{id}")
|
||||
return error_json(400, "Invalid post ID") if response["error"]?
|
||||
ucid = response.dig("endpoint", "browseEndpoint", "browseId").as_s
|
||||
ucid = URI.encode_www_form(response.dig("endpoint", "browseEndpoint", "browseId").as_s)
|
||||
else
|
||||
ucid = ucid.to_s
|
||||
ucid = URI.encode_www_form(ucid.to_s)
|
||||
end
|
||||
case continuation
|
||||
when nil, ""
|
||||
|
Loading…
Reference in New Issue
Block a user