getVisitorId function
Returns a X-Goog-Visitor-Id
.
Implementation
Future<Map<String, String>> getVisitorId(
Future<Response> Function(String url) requestFunc,
) async {
final response = await requestFunc(YTM_DOMAIN);
final regex = RegExp(r'ytcfg\.set\s*\(\s*({.+?})\s*\)\s*;');
final matches = regex.allMatches(decodeEscapes(response.data.toString()));
String visitorId = '';
if (matches.isNotEmpty) {
final jsonStr = matches.first.group(1)!;
final ytcfg = jsonDecode(jsonStr) as JsonMap;
visitorId =
(ytcfg['VISITOR_DATA'] ?? ytcfg['EOM_VISITOR_DATA'] ?? '') as String;
}
return {'X-Goog-Visitor-Id': visitorId};
}