mirror of
https://github.com/iv-org/invidious.git
synced 2024-11-14 09:16:00 +05:30
fix: ytInitialData parsing with regex
This commit is contained in:
parent
1973f93d4a
commit
480d31eb5e
@ -598,12 +598,7 @@ def create_notification_stream(env, topics, connection_channel)
|
|||||||
end
|
end
|
||||||
|
|
||||||
def extract_initial_data(body) : Hash(String, JSON::Any)
|
def extract_initial_data(body) : Hash(String, JSON::Any)
|
||||||
initial_data = body.match(/(window\["ytInitialData"\]|var\s+ytInitialData)\s*=\s*(?<info>.*?);+\s*\n/).try &.["info"] || "{}"
|
return JSON.parse(body.match(/(window\["ytInitialData"\]|var\s*ytInitialData)\s*=\s*(?<info>\{.*?\});/).try &.["info"] || "{}").as_h
|
||||||
if initial_data.starts_with?("JSON.parse(\"")
|
|
||||||
return JSON.parse(JSON.parse(%({"initial_data":"#{initial_data[12..-3]}"}))["initial_data"].as_s).as_h
|
|
||||||
else
|
|
||||||
return JSON.parse(initial_data).as_h
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def proxy_file(response, env)
|
def proxy_file(response, env)
|
||||||
|
Loading…
Reference in New Issue
Block a user