//
//  LoggerHelper.m
//  react-native-live-pull
//
//  Created by iOS Team on 2024/xx/xx.
//

#import <Foundation/Foundation.h>
#import <TTSDKFramework/TTSDKFramework.h>

@interface VeLivePlayerLoggerHelper : NSObject

+ (void)setHeaderInfo:(NSDictionary *)params;

@end

@implementation VeLivePlayerLoggerHelper

+ (void)setHeaderInfo:(NSDictionary *)params {
    NSString *appId = [params valueForKey:@"appId"];
    if ([appId isKindOfClass:NSString.class] && appId.length > 0) {
        Class autoTrack = NSClassFromString(@"BDAutoTrack");
        if (!autoTrack || ![autoTrack respondsToSelector:NSSelectorFromString(@"trackWithAppID:")]) {
            return;
        }

        id trackInstance = [autoTrack performSelector:@selector(trackWithAppID:) withObject:appId];
        if (![trackInstance respondsToSelector:@selector(setCustomHeaderValue:forKey:)]) {
            return;
        }

        id headers = [params valueForKey:@"headers"];
        if ([headers isKindOfClass:NSDictionary.class]) {
            NSDictionary *headersDict = (NSDictionary *)headers;
            [headersDict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
                [trackInstance performSelector:@selector(setCustomHeaderValue:forKey:) withObject:obj withObject:key];
            }];
        }
    }
}

@end
