单军华
2018-07-31 21d3023a9b7b6aff68c1170e345951396b1c6cfd
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
//
//  ASIDownloadCache.h
//  Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest
//
//  Created by Ben Copsey on 01/05/2010.
//  Copyright 2010 All-Seeing Interactive. All rights reserved.
//
 
#import <Foundation/Foundation.h>
#import "ASICacheDelegate.h"
 
@interface ASIDownloadCache : NSObject <ASICacheDelegate> {
    
    // The default cache policy for this cache
    // Requests that store data in the cache will use this cache policy if their cache policy is set to ASIUseDefaultCachePolicy
    // Defaults to ASIAskServerIfModifiedWhenStaleCachePolicy
    ASICachePolicy defaultCachePolicy;
    
    // The directory in which cached data will be stored
    // Defaults to a directory called 'ASIHTTPRequestCache' in the temporary directory
    NSString *storagePath;
    
    // Mediates access to the cache
    NSRecursiveLock *accessLock;
    
    // When YES, the cache will look for cache-control / pragma: no-cache headers, and won't reuse store responses if it finds them
    BOOL shouldRespectCacheControlHeaders;
}
 
// Returns a static instance of an ASIDownloadCache
// In most circumstances, it will make sense to use this as a global cache, rather than creating your own cache
// To make ASIHTTPRequests use it automatically, use [ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]];
+ (id)sharedCache;
 
// A helper function that determines if the server has requested data should not be cached by looking at the request's response headers
+ (BOOL)serverAllowsResponseCachingForRequest:(ASIHTTPRequest *)request;
 
// A list of file extensions that we know won't be readable by a webview when accessed locally
// If we're asking for a path to cache a particular url and it has one of these extensions, we change it to '.html'
+ (NSArray *)fileExtensionsToHandleAsHTML;
 
@property (assign, nonatomic) ASICachePolicy defaultCachePolicy;
@property (retain, nonatomic) NSString *storagePath;
@property (retain) NSRecursiveLock *accessLock;
@property (assign) BOOL shouldRespectCacheControlHeaders;
@end