CFURLRequest.h
1 #ifndef __CFURLREQUEST__ 2 #define __CFURLREQUEST__ 3 4 #include <CoreFoundation/CFData.h> 5 #include <CoreFoundation/CFString.h> 6 #include <CoreFoundation/CFURL.h> 7 #include <CoreFoundation/CFStream.h> 8 #include <CoreFoundation/CFArray.h> 9 #include <CFNetwork/CFHTTPMessage.h> 10 #include <stdlib.h> 11 12 #if PRAGMA_ONCE 13 #pragma once 14 #endif 15 16 typedef CF_ENUM(UInt32, CFURLRequestCachePolicy) { 17 CFURLRequestUseProtocolCachePolicy = 0, 18 CFURLRequestReloadIgnoringLocalCacheData = 1, 19 CFURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, 20 CFURLRequestReloadIgnoringCacheData = CFURLRequestReloadIgnoringLocalCacheData, 21 CFURLRequestReturnCacheDataElseLoad = 2, 22 CFURLRequestReturnCacheDataDontLoad = 3, 23 CFURLRequestReloadRevalidatingCacheData = 5, 24 }; 25 26 typedef CF_ENUM(UInt32, CFURLRequestNetworkServiceType) { 27 CFURLNetworkServiceTypeDefault = 0, 28 CFURLNetworkServiceTypeVoIP = 1, 29 CFURLNetworkServiceTypeVideo = 2, 30 CFURLNetworkServiceTypeBackground = 3, 31 CFURLNetworkServiceTypeVoice = 4 32 }; 33 34 __BEGIN_DECLS 35 36 typedef const struct _CFURLRequest *CFURLRequestRef; 37 typedef struct _CFURLRequest *CFMutableURLRequestRef; 38 39 CFStringRef CFURLRequestCopyDebugDescription(CFURLRequestRef req); 40 void __CFURLRequestLog(CFURLRequestRef req); 41 extern int __CFURLRequestLogging; 42 43 CFURLRequestRef CFURLRequestCreate(CFAllocatorRef allocator, CFURLRef url, CFURLRequestCachePolicy policy, CFTimeInterval timeout); 44 CFURLRequestRef CFURLRequestCreateCopy(CFAllocatorRef allocator, CFURLRequestRef request); 45 CFURLRef CFURLRequestGetURL(CFURLRequestRef request); 46 CFURLRequestCachePolicy CFURLRequestGetCachePolicy(CFURLRequestRef request); 47 CFTimeInterval CFURLRequestGetTimeout(CFURLRequestRef request); 48 CFURLRef CFURLRequestCopyMainDocumentURL(CFURLRequestRef request); 49 CFURLRequestNetworkServiceType CFURLRequestGetServiceType(CFURLRequestRef request); 50 Boolean CFURLRequestAllowsCellularAccess(CFURLRequestRef request); 51 CFStringRef CFURLRequestCopyHTTPMethod(CFURLRequestRef request); 52 CFStringRef CFURLRequestCopyHTTPVersion(CFURLRequestRef request); 53 CFStringRef CFURLRequestCopyValueForHTTPField(CFURLRequestRef request, CFStringRef field); 54 CFArrayRef CFURLRequestCopyHTTPFields(CFURLRequestRef request); 55 CFArrayRef CFURLRequestCopyHTTPValues(CFURLRequestRef request); 56 CFDictionaryRef CFURLRequestCopyAllHTTPFields(CFURLRequestRef request); 57 CFDataRef CFURLRequestGetHTTPBody(CFURLRequestRef request); 58 CFReadStreamRef CFURLRequestGetHTTPBodyStream(CFURLRequestRef request); 59 Boolean CFURLRequestShouldHandleCookes(CFURLRequestRef request); 60 Boolean CFURLRequestShouldUseHTTPPipelining(CFURLRequestRef request); 61 CFIndex CFURLRequestFirstFieldIndex(CFURLRequestRef request, CFStringRef key, CFIndex start); 62 CFStringRef CFURLRequestGetHeaderFieldValue(CFURLRequestRef request, CFStringRef key); 63 64 void _CFURLSetMutable(CFURLRequestRef request, Boolean canMutate); 65 66 CFMutableURLRequestRef CFURLRequestCreateMutableCopy(CFAllocatorRef allocator, CFURLRequestRef request); 67 Boolean CFURLRequestSetURL(CFMutableURLRequestRef request, CFURLRef url); 68 Boolean CFURLRequestSetCachePolicy(CFMutableURLRequestRef request, CFURLRequestCachePolicy policy); 69 Boolean CFURLRequestSetTimeout(CFMutableURLRequestRef request, CFTimeInterval timeout); 70 Boolean CFURLRequestSetMainDocumentURL(CFMutableURLRequestRef request, CFURLRef url); 71 Boolean CFURLRequestSetNetworkServiceType(CFMutableURLRequestRef request, CFURLRequestNetworkServiceType type); 72 Boolean CFURLRequestSetAllowsCellularAccess(CFMutableURLRequestRef request, Boolean allowed); 73 Boolean CFURLRequestSetHTTPMethod(CFMutableURLRequestRef request, CFStringRef method); 74 CFIndex CFURLRequestAddValueForHTTPField(CFMutableURLRequestRef request, CFStringRef field, CFStringRef value); 75 Boolean CFURLRequestSetHTTPFields(CFMutableURLRequestRef request, CFArrayRef keys, CFArrayRef values); 76 Boolean CFURLRequestRemoveHTTPField(CFMutableURLRequestRef request, CFIndex index); 77 Boolean CFURLRequestReplaceHTTPField(CFMutableURLRequestRef request, CFIndex index, CFStringRef value); 78 Boolean CFURLRequestSetHTTPBody(CFMutableURLRequestRef request, CFDataRef data); 79 Boolean CFURLRequestSetHTTPBodyStream(CFMutableURLRequestRef request, CFReadStreamRef stream); 80 Boolean CFURLRequestHandleCookies(CFMutableURLRequestRef request, Boolean enabled); 81 Boolean CFURLRequestUseHTTPPipelining(CFMutableURLRequestRef request, Boolean enabled); 82 83 CFHTTPMessageRef CFHTTPMessageCreateRequestFromURLRequest(CFAllocatorRef allocator, CFURLRequestRef request); 84 85 CFURLRequestRef _CFURLRequestCreateFromParcel(CFAllocatorRef allocator, CFPropertyListRef parcel); 86 CFPropertyListRef _CFURLRequestCreateParcel(CFURLRequestRef request); 87 88 __END_DECLS 89 90 91 #endif