Skip to content
Block-based NSURLConnection wrapper
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Block-Based NSURLConnection Wrapper (For ARC Projects)

JCDHTTPConnection is a lightweight wrapper for NSURLConnection that provides a simple block callback API.


A JCDHTTPConnection object is initialized with a NSURLRequest object and then executeRequestOnSuccess:failure:didSendData is called on the connection to initiate the asynchronous request. The three callback blocks: onSuccess, onFailure and onDidSendData are all optional.


NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@""]];

JCDHTTPConnection *connection = [[JCDHTTPConnection alloc] initWithRequest:request];

[connection executeRequestOnSuccess:
 ^(NSHTTPURLResponse *response, NSString *bodyString) {
     NSLog(@"SUCCESS: %d: %@", response.statusCode, bodyString);
 } failure:^(NSHTTPURLResponse *response, NSString *bodyString, NSError *error) {
     NSLog(@"FAILURE: %@", error);
 } didSendData:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) {
     // This is not going to be called in this example but it's included for completeness.
     NSLog(@"DID SEND DATA: %d", bytesWritten);

Example Project

The repository includes an example Xcode project that fetches URLs and displays the response.

Something went wrong with that request. Please try again.