Core Foundation equivalents for NSURLRequest and NSURLConnection

cocoa-touch, core-foundation, iphone

Solution

There are not direct equivalents to `NSURLRequest` and `NSURLConnection` in Core Foundation, but you can use the lower-level CFHTTP functions in CFNetwork.

For example,

CFHTTPMessageRef myRequest = CFHTTPMessageCreateRequest(kCFAllocatorDefault,
        requestMethod, myUrl, kCFHTTPVersion1_1);
CFHTTPMessageSetBody(myRequest, bodyData);
CFHTTPMessageSetHeaderFieldValue(myRequest, headerField, value);

CFReadStreamRef myReadStream = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, myRequest);

CFReadStreamOpen(myReadStream);

CFHTTPMessageRef myResponse = CFReadStreamCopyProperty(myReadStream, kCFStreamPropertyHTTPResponseHeader);

Problem

I'm aware that NSUrl is bridged to CFUrl. What are the Core Foundation equivalents for `NSURLRequest` and `NSURLConnection` so I can do something with a CFUrl object using pure C?

Original source