https://github.com/0x0c/m2dapigatekeeper
Simple API networking framework
https://github.com/0x0c/m2dapigatekeeper
api-client ios ios-lib networking objective-c
Last synced: 6 months ago
JSON representation
Simple API networking framework
- Host: GitHub
- URL: https://github.com/0x0c/m2dapigatekeeper
- Owner: 0x0c
- License: mit
- Created: 2014-09-25T05:45:28.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2019-02-20T08:58:41.000Z (over 6 years ago)
- Last Synced: 2025-03-12T10:48:47.063Z (7 months ago)
- Topics: api-client, ios, ios-lib, networking, objective-c
- Language: Objective-C
- Size: 128 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# M2DAPIGatekeeper
[](https://travis-ci.org/Akira Matsuda/M2DAPIGatekeeper)
[](http://cocoadocs.org/docsets/M2DAPIGatekeeper)
[](http://cocoadocs.org/docsets/M2DAPIGatekeeper)
[](http://cocoadocs.org/docsets/M2DAPIGatekeeper)## Requirements
- Runs on iOS 7.0 or later.
## Contribution
Please use git flow and send pull request to `develop` branch.
## Installation
M2DAPIGatekeeper is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:pod "M2DAPIGatekeeper"
## Usage
To run the example project, clone the repo, and run `pod install` from the Example directory first.
Only two steps to send request like this.
// Send asynchronous request
M2DAPIRequest *r = [M2DAPIRequest GETRequest:[NSURL URLWithString:@"URL"]];
[[r whenSucceeded:^(M2DAPIRequest *request, NSDictionary *httpHeaderFields, id parsedObject) {
//When result condition is true
}] whenFailed:^(M2DAPIRequest *request, NSDictionary *httpHeaderFields, id parsedObject, NSError *error) {
//When result condition is false
}];A lot of methods to control each sequences.
For example,M2DAPIGatekeeper *gatekeeper = [M2DAPIGatekeeper sharedInstance];
[gatekeeper parseBlock:^id(NSData *data, NSError *__autoreleasing *error) {
id result = nil;
if (*error == nil) {
result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:error];
}
return result;
}];
[gatekeeper resultConditionBlock:^BOOL(M2DAPIRequest *request, NSURLResponse *response, id parsedObject, NSError *__autoreleasing *error) {
return [(NSHTTPURLResponse *)response statusCode] == 200;
}];[gatekeeper initializeBlock:^(M2DAPIRequest *request, NSDictionary *params) {
dispatch_async(dispatch_get_main_queue(), ^{
// Show hud when start request
});
}];
[gatekeeper finalizeBlock:^(M2DAPIRequest *request, NSDictionary *httpHeaderField, id parsedObject) {
dispatch_async(dispatch_get_main_queue(), ^{
// Dismiss hud when finish request
});
}];and so more.
When start connection, unique identifier is generated.
You can use the identifier to cancel request .NSString *identifier = [gatekeeper sendRequest:...];
[gatekeeper cancelRequestWithIdentifier:identifier];Please see also M2DAPIGatekeeper.h or M2DAPIRequest.h.
## Author
Akira Matsuda, akira.m.itachi@gmail.com
## License
M2DAPIGatekeeper is available under the MIT license. See the LICENSE file for more info.