feat: centralize ytInitialData parsing

This commit is contained in:
Théo Gaillard
2020-11-26 13:12:35 +01:00
parent 480d31eb5e
commit 1ba17a0e14
3 changed files with 15 additions and 23 deletions

View File

@ -598,7 +598,7 @@ def create_notification_stream(env, topics, connection_channel)
end
def extract_initial_data(body) : Hash(String, JSON::Any)
return JSON.parse(body.match(/(window\["ytInitialData"\]|var\s*ytInitialData)\s*=\s*(?<info>\{.*?\});/).try &.["info"] || "{}").as_h
return JSON.parse(body.match(/(window\["ytInitialData"\]|var\s*ytInitialData)\s*=\s*(?<info>\{.*?\});/m).try &.["info"] || "{}").as_h
end
def proxy_file(response, env)