commit | 517ebea0eaf5ee8f5bedf622e7d30d682b0c67a9 | [log] [tgz] |
---|---|---|
author | Igor Sarkisov <isarkisov@google.com> | Tue Oct 06 23:35:27 2020 -0700 |
committer | Igor Sarkisov <isarkisov@google.com> | Tue Oct 06 23:35:27 2020 -0700 |
tree | 4516ec458c49206c9d36d75cfbc76cd82ae470f3 |
Project import
Courier is a simple network layer built on NSURLSession and various categories of convenience.
#import <Courier/Courier.h> // Default config NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; // Add additional headers config.HTTPAdditionalHeaders = @{@"Accept" : @"application/json"}; // Be a good API citizen and limit to 1 HTTP connection per host config.HTTPMaximumConnectionsPerHost = 1; // Build session controller CRSessionController *sessionController = [CRSessionController sessionControllerWithConfiguration:config delegate:controller]; // Build a POST request NSMutableURLRequest *request = [NSMutableURLRequest requestWithMethod:@"POST" path:@"https://service.com/api" encoding:CR_URLJSONParameterEncoding URLParameters:@{@"urlParam" : @"value"} HTTPBodyParameters:@{@"bodyParam" : @"value"} header:@{@"Header-Name" : @"value"}]; // Build a task NSURLSessionDataTask *task = [sessionController dataTaskForRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (response.success) { // Hurrah! } }]; // Start task [task resume];