Files
react-native-video-cache/ios/VideoCache.m
2020-10-07 10:40:44 +08:00

36 lines
899 B
Objective-C

#import "VideoCache.h"
#import <KTVHTTPCache/KTVHTTPCache.h>
@implementation VideoCache
RCT_EXPORT_MODULE()
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(convert:(NSString *)url)
{
if (!KTVHTTPCache.proxyIsRunning) {
NSError *error;
[KTVHTTPCache proxyStart:&error];
if (error) {
return url;
}
}
return [KTVHTTPCache proxyURLWithOriginalURL:[NSURL URLWithString:url]].absoluteString;
}
RCT_EXPORT_METHOD(convertAsync:(NSString *)url
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
if (!KTVHTTPCache.proxyIsRunning) {
NSError *error;
[KTVHTTPCache proxyStart:&error];
if (error) {
reject(@"init.error", @"failed to start proxy server", error);
return;
}
}
resolve([KTVHTTPCache proxyURLWithOriginalURL:[NSURL URLWithString:url]].absoluteString);
}
@end