Skip to content

cmckni3/AFNetworking-PromiseKit

Repository files navigation

AFNetworking-PromiseKit

Version License Platform

Wrapper for the AFHTTPRequestOperation class to return a PromiseKit promise.

Promises clean up the structure of code and provide better data flow and error handling especially when using asynchronous methods.

Requirements

Supported Platforms

  • iOS 6.0+
  • OS X 10.7+

Installation

Install via CocoaPods

  • Add the library to Podfile

    platform :ios, '6.0'
    
    pod 'AFNetworking-PromiseKit'
  • Install pod

    pod install

Manual

  • Drop AFHTTPRequestOperation+PromiseKit.h, AFHTTPRequestOperation+PromiseKit.m, and AFNetworking-PromiseKit.h into an Xcode project with AFNetworking and set the appropriate targets.

Usage

Import the category

  • Manual install

    #import "AFNetworking-PromiseKit.h"
  • CocoaPods install

    #import <AFNetworking-PromiseKit/AFNetworking-PromiseKit.h>

Call a typical AFHTTPRequestOperation operation class method and use the resulting promise.

NSMutableURLRequest *request = [[AFClient sharedClient] requestWithMethod:@"GET" path:@"/test.json" parameters:nil];

[AFJSONRequestOperation promise:request].then(^(AFHTTPRequestOperation *operation, id JSON){
  NSLog(@"Received: %@", JSON);
}).catch(^(NSError *error){
  NSLog(@"Received an error: %@", error);
});

License

AFNetworking-PromiseKit is licensed under the MIT license. Please see the license for more information.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request