Announcement
Because I can no longer maintain this framework at the standards the open source community expects of me, and those I expect of myself, I have placed a feature freeze on this fork and will stop maintenance. If support for future RAC's and AFNetworking's is needed, please fork this repository and update the podspecs as needed.
AFNetworking-RACExtensions
AFNetworking+RACExtensions is a delightful extension to the AFNetworking networking library for iOS and Mac OS X. It's built on top of ReactiveCocoa, AFNetworking, extending the powerful high-level networking abstractions built into AFNetorking by lifting them into the Reactive world. It has a modular architecture with well-designed, feature-rich APIs that are a joy to use.
Getting Started
Request signals work in much the same way you would expect them to. Any request that is subscribed to is automatically enqueued and the results, be they errors or JSON, are sent back to you the subscriber. For example
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc]
initWithBaseURL:url];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[[manager rac_GET:path parameters:params] subscribeNext:^(RACTuple *JSONAndHeaders) {
//Voila, a tuple with (JSON, HTTPResponse)
}];
Requirements
AFNetworking 1.0 and higher requires either iOS 5.0 and above, or Mac OS 10.8 (64-bit with modern Cocoa runtime) and above.
Contact
License
AFNetworking+RACExtensions is available free of change under the Open Source license, along with the MIT license that AFNetworking uses. Use it at your own risk.