Showing
1 changed file
with
23 additions
and
0 deletions
@@ -9,17 +9,40 @@ | @@ -9,17 +9,40 @@ | ||
9 | #import <Foundation/Foundation.h> | 9 | #import <Foundation/Foundation.h> |
10 | @class ASIHTTPRequest; | 10 | @class ASIHTTPRequest; |
11 | 11 | ||
12 | +// Cache policies control the behaviour of a cache and how requests use the cache | ||
13 | +// When setting a cache policy, you can use a combination of these values as a bitmask | ||
14 | +// For example: [request setCachePolicy:ASIAskServerIfModifiedCachePolicy|ASIFallbackToCacheIfLoadFailsCachePolicy|ASIDoNotWriteToCacheCachePolicy]; | ||
15 | +// Note that some of the behaviours below are mutally exclusive - you cannot combine ASIAskServerIfModifiedWhenStaleCachePolicy and ASIAskServerIfModifiedCachePolicy, for example. | ||
12 | typedef enum _ASICachePolicy { | 16 | typedef enum _ASICachePolicy { |
17 | + | ||
18 | + // The default cache policy. When you set a request to use this, it will use the cache's defaultCachePolicy | ||
19 | + // ASIDownloadCache's default cache policy is 'ASIAskServerIfModifiedWhenStaleCachePolicy' | ||
13 | ASIUseDefaultCachePolicy = 0, | 20 | ASIUseDefaultCachePolicy = 0, |
21 | + | ||
22 | + // Tell the request not to read from the cache | ||
14 | ASIDoNotReadFromCacheCachePolicy = 1, | 23 | ASIDoNotReadFromCacheCachePolicy = 1, |
24 | + | ||
25 | + // The the request not to write to the cache | ||
15 | ASIDoNotWriteToCacheCachePolicy = 2, | 26 | ASIDoNotWriteToCacheCachePolicy = 2, |
27 | + | ||
28 | + // Ask the server if there is an updated version of this resource (using a conditional GET) ONLY when the cached data is stale | ||
16 | ASIAskServerIfModifiedWhenStaleCachePolicy = 4, | 29 | ASIAskServerIfModifiedWhenStaleCachePolicy = 4, |
30 | + | ||
31 | + // Always ask the server if there is an updated version of this resource (using a conditional GET) | ||
17 | ASIAskServerIfModifiedCachePolicy = 8, | 32 | ASIAskServerIfModifiedCachePolicy = 8, |
33 | + | ||
34 | + // If cached data exists, use it even if it is stale. This means requests will not talk to the server unless the resource they are requesting is not in the cache | ||
18 | ASIOnlyLoadIfNotCachedCachePolicy = 16, | 35 | ASIOnlyLoadIfNotCachedCachePolicy = 16, |
36 | + | ||
37 | + // If cached data exists, use it even if it is stale. If cached data does not exist, stop (will not set an error on the request) | ||
19 | ASIDontLoadCachePolicy = 32, | 38 | ASIDontLoadCachePolicy = 32, |
39 | + | ||
40 | + // Specifies that cached data may be used if the request fails. If cached data is used, the request will succeed without error. Usually used in combination with other options above. | ||
20 | ASIFallbackToCacheIfLoadFailsCachePolicy = 64 | 41 | ASIFallbackToCacheIfLoadFailsCachePolicy = 64 |
21 | } ASICachePolicy; | 42 | } ASICachePolicy; |
22 | 43 | ||
44 | +// Cache storage policies control whether cached data persists between application launches (ASICachePermanentlyCacheStoragePolicy) or not (ASICachePermanentlyCacheStoragePolicy) | ||
45 | +// Calling [ASIHTTPRequest clearSession] will remove any data stored using ASICacheForSessionDurationCacheStoragePolicy | ||
23 | typedef enum _ASICacheStoragePolicy { | 46 | typedef enum _ASICacheStoragePolicy { |
24 | ASICacheForSessionDurationCacheStoragePolicy = 0, | 47 | ASICacheForSessionDurationCacheStoragePolicy = 0, |
25 | ASICachePermanentlyCacheStoragePolicy = 1 | 48 | ASICachePermanentlyCacheStoragePolicy = 1 |
-
Please register or login to post a comment