[        
   
   
   
   
       ]
宙飒天下网		接口
FireflySessionURLProtocol
注册、解注册过滤器
+(void)filter_register:(nonnull Class)filter; +(void)filter_unregister:(nonnull Class)filter; +(void)filter_unregisterAll; +(void)filter_setlist:(nullable NSArray<Class> *)list; 获取当前注册的过滤器
+(nullable NSArray<Class> *)filter_getlist; FireflySessionURLCustomFilter(过滤器)
调用顺序
 ->ff_canDoWithRequest  ->initWithRequest  ->ff_GetLocalData 如果处理成功 则到此结束  ->didReceiveData  ->didCompleteWithError 是否可以处理某个具体请求
对应NSURLProtocol::canonicalRequestForRequest
只有结果为YES时,才会有(但不一定有)后续的处理过程
+(BOOL)ff_canDoWithRequest:(NSURLRequest *_Nonnull)inRequest canonicalRequest:(NSURLRequest *_Nonnull*_Nullable)outRequest outUserData:(NSObject *_Nullable*_Nonnull)outUserData; | 参数名称 | 说明 | 
|---|---|
| inRequest | 传入请求,需要对这个请求判断,确定是否可以处理 | 
| outRequest | 传出请求,一般不做处理 | 
| outUserData | 用户数据,将在整个过滤过程中投传 | 
初始化方法
-(id _Nonnull)initWithRequest:(NSURLRequest *_Nonnull)request userData:(NSObject *_Nullable)userData; | 参数名称 | 说明 | 
|---|---|
| request | 传入请求 | 
| userData | 用户数据,参考ff_canDoWithRequest的outUserData | 
请求
@property (nonatomic,strong,readonly,nonnull) NSURLRequest * request; 参考initWithRequest的request
用户数据
@property (nonatomic,strong,readonly,nullable) NSObject *userData; 参考initWithRequest的userData
接收网络数据
-(void)ff_URLSession:(NSURLSession *_Nonnull)session dataTask:(NSURLSessionDataTask *_Nonnull)dataTask didReceiveData:(NSData *_Nonnull)data; | 参数名称 | 说明 | 
|---|---|
| session | 请求回话 | 
| dataTask | 数据任务 | 
| data | 接收的数据 | 
网络请求完成
-(void)ff_URLSession:(NSURLSession *_Nonnull)session task:(NSURLSessionTask *_Nonnull)task didCompleteWithError:(NSError *_Nullable)error; | 参数名称 | 说明 | 
|---|---|
| session | 请求回话 | 
| dataTask | 数据任务 | 
| error | 错误 | 
获取本地数据
-(void)ff_GetLocalDataFrom:(in unsigned long)inOffset                       size:(in unsigned long)inSize                       data:(out NSData *_Nonnull*_Nullable)outData                      total:(out unsigned long *_Nonnull)outTotal                      error:(out NSError *_Nonnull*_Nullable)outErr; 如果本地数据处理成功,则不过发起网络请求;这个方法可能会被多次调用,直到数据读取完毕。数据读取完毕的判断条件是outTotal < inSize
| 参数名称 | 说明 | 
|---|---|
| inOffset | 期望读取偏移 | 
| inSize | 期望读取大小 | 
| outData | 读取出来的数据 | 
| outTotal | 读取出来的数据的大小 | 
| outErr | 错误 | 
本地文件路径
+(nullable NSArray<Class> *)filter_getlist; 0如果确定过滤器可以处理请求,且本地有缓存文件,需要在这个方法里返回本地文件路径。
清除本地文件
+(nullable NSArray<Class> *)filter_getlist; 1清除本地文件
+(nullable NSArray<Class> *)filter_getlist; 1获取响应数据缓存
+(nullable NSArray<Class> *)filter_getlist; 3FireflyWebImageCacheFilter(图片缓存)
是FireflySessionURLCustomFilter的子类,重写的方法
+(nullable NSArray<Class> *)filter_getlist; 4


 
		 
		 
		 
		

还没有评论,来说两句吧...