//
//  PDNSCurlCacheConstants.h
//  PDNSCurl
//

#ifndef PDNSCurlCacheConstants_h
#define PDNSCurlCacheConstants_h

// 请求相关的属性键
#define kPDNSCurlCacheEnabled @"kPDNSCurlCacheEnabled"
#define kPDNSCurlForceRefreshKey @"kPDNSCurlForceRefreshKey"

// 默认缓存容量 (50 MB)
#define kPDNSCurlDefaultCacheCapacity (50 * 1024 * 1024)

// 标记用于收集响应数据
#define kPDNSCurlResponseDataKey @"kPDNSCurlResponseDataKey"

#define PDNSHTTPHeaderCacheControl @"Cache-Control"
#define PDNSHTTPHeaderPragma @"Pragma"
#define PDNSHTTPHeaderExpires @"Expires"
#define PDNSHTTPHeaderDate @"Date"
#define PDNSHTTPHeaderETag @"Etag"
#define PDNSHTTPHeaderLastModified @"Last-Modified"
#define PDNSHTTPHeaderAge @"Age"
#define PDNSHTTPHeaderVary @"Vary"

#define PDNSCacheControlNoCache @"no-cache"
#define PDNSCacheControlNoStore @"no-store"
#define PDNSCacheControlMaxAge @"max-age"
#define PDNSCacheControlSMaxAge @"s-maxage"
#define PDNSCacheControlMustRevalidate @"must-revalidate"
#define PDNSCacheControlPublic @"public"
#define PDNSCacheControlPrivate @"private"

#define PDNSUserInfoKeyStorageTimestamp @"PDNSUserInfoKeyStorageTimestamp"
#define PDNSUserInfoKeyOriginalDateHeader @"PDNSUserInfoKeyOriginalDateHeader"
#define PDNSUserInfoKeyOriginalExpiresHeader @"PDNSUserInfoKeyOriginalExpiresHeader"
#define PDNSUserInfoKeyOriginalHTTPVersion @"PDNSUserInfoKeyOriginalHTTPVersion"
#define PDNSUserInfoKeyOriginalStatusCode @"PDNSUserInfoKeyOriginalStatusCode"

#endif /* PDNSCurlCacheConstants_h */
