CNLiveHTTPProxyService.m
4.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
//
// CNLiveHTTPProxyService.m
// CNLivePlayer_Example
//
// Created by CNLive-zxw on 2019/7/26.
// Copyright © 2019 153993236@qq.com. All rights reserved.
//
#import "CNLiveHTTPProxyService.h"
//缓存视频
#import <KSYHTTPCache/KSYHTTPProxyService.h>
#import <KSYHTTPCache/HTTPCacheDefines.h>
//数据库
#import "CNLivePlayerDBTool.h"
#import "CNLivePlayerDBModel.h"
@implementation CNLiveHTTPProxyService
+ (CNLiveHTTPProxyService *)manager {
static id instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
- (void)setCacheRoot:(NSString *)cacheRoot {
[[KSYHTTPProxyService sharedInstance] setCacheRoot:cacheRoot];
}
- (NSString *)cacheRoot {
return [[KSYHTTPProxyService sharedInstance] cacheRoot];
}
- (NSInteger)getCacheStrategy {
return [[KSYHTTPProxyService sharedInstance] getCacheStrategy];
}
- (void)setMaxCacheSizeLimited:(long long)maxCacheSize {
[[KSYHTTPProxyService sharedInstance] setMaxCacheSizeLimited:maxCacheSize];
}
- (long long)maxCacheSize {
return [[KSYHTTPProxyService sharedInstance] maxCacheSize];
}
- (void)setMaxFilesCountLimited:(NSInteger)maxFilesCount {
[[KSYHTTPProxyService sharedInstance] setMaxFilesCountLimited:maxFilesCount];
}
- (NSInteger)maxFilesCount {
return [[KSYHTTPProxyService sharedInstance] maxFilesCount];
}
- (void)setMaxSingleFileSize:(long long)maxSingleFileSize {
[[KSYHTTPProxyService sharedInstance] setMaxSingleFileSize:maxSingleFileSize];
}
- (void)setDisableCache:(BOOL)disableCache {
[[KSYHTTPProxyService sharedInstance] setDisableCache:disableCache];
}
- (void)startServer {
[[KSYHTTPProxyService sharedInstance] startServer];
}
- (void)stopServer {
[[KSYHTTPProxyService sharedInstance] stopServer];
}
- (BOOL)isRunning {
return [[KSYHTTPProxyService sharedInstance] isRunning];
}
- (NSString *)getProxyUrl:(NSString *)url {
return [[KSYHTTPProxyService sharedInstance] getProxyUrl:url];
}
- (NSString *)getOriginalUrl:(NSString *)url {
return [[KSYHTTPProxyService sharedInstance] getOriginalUrl:url];
}
- (NSString *)getProxyUrl:(NSString *)url newCache:(BOOL)newCache {
return [[KSYHTTPProxyService sharedInstance] getProxyUrl:url newCache:newCache];
}
- (void)deleteAllCachesWithError:(NSError *__autoreleasing *)error {
[[KSYHTTPProxyService sharedInstance] deleteAllCachesWithError:error];
//清空数据缓存
[[CNLivePlayerDBTool shared] clearTable];
}
- (void)deleteCacheForUrl:(NSURL *)url error:(NSError *__autoreleasing *)error {
[[KSYHTTPProxyService sharedInstance] deleteCacheForUrl:url error:error];
}
/**
* 删除某个contentId对应的缓存文件
*/
- (void)deleteCacheForContentId:(NSString *)contentId error:(NSError *__autoreleasing *)error {
CNLivePlayerDBModel *model = [[CNLivePlayerDBTool shared] searchInTable:contentId];
if (model) {
[[KSYHTTPProxyService sharedInstance] deleteCacheForUrl:[NSURL URLWithString:model.url] error:error];
[[CNLivePlayerDBTool shared] deleteTable:contentId];
}
}
- (BOOL)isCacheCompleteForUrl:(NSURL *)url {
return [[KSYHTTPProxyService sharedInstance] isCacheCompleteForUrl:url];
}
/**
* 查看某个contentId缓存是否完成
*/
- (BOOL)isCacheCompleteForContentId:(NSString *)contentId {
CNLivePlayerDBModel *model = [[CNLivePlayerDBTool shared] searchInTable:contentId];
if (model) {
return [[CNLiveHTTPProxyService manager] isCacheCompleteForUrl:[NSURL URLWithString:model.url]];
}
return NO;
}
- (NSArray *)getAllCachedFileListWithError:(NSError *__autoreleasing *)errors {
return [[KSYHTTPProxyService sharedInstance] getAllCachedFileListWithError:errors];
}
- (NSArray *)getAllCachingFileListWithError:(NSError *__autoreleasing *)error {
return [[KSYHTTPProxyService sharedInstance] getAllCachingFileListWithError:error];
}
- (NSString *)getCachedFilePathForUrl:(NSURL *)url {
return [[KSYHTTPProxyService sharedInstance] getCachedFilePathForUrl:url];
}
- (NSArray *)getCacheFragmentForUrl:(NSURL *)url error:(NSError *__autoreleasing *)error {
return [[KSYHTTPProxyService sharedInstance] getCacheFragmentForUrl:url error:error];
}
- (void)setHttpHeaders:(NSDictionary<NSString *,NSString *> *)headers {
[[KSYHTTPProxyService sharedInstance] setHttpHeaders:headers];
}
@end