https://github.com/elfsundae/afnetworkextension
AFNetworking 3/4 Extensions
https://github.com/elfsundae/afnetworkextension
afnetworking extension ios logging networking reachability
Last synced: about 2 months ago
JSON representation
AFNetworking 3/4 Extensions
- Host: GitHub
- URL: https://github.com/elfsundae/afnetworkextension
- Owner: ElfSundae
- License: mit
- Created: 2019-06-18T07:27:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-03-18T12:19:52.000Z (over 4 years ago)
- Last Synced: 2025-08-15T01:55:35.569Z (about 2 months ago)
- Topics: afnetworking, extension, ios, logging, networking, reachability
- Language: Objective-C
- Homepage:
- Size: 122 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AFNetworkExtension
[](https://github.com/ElfSundae/AFNetworkExtension/actions?query=workflow%3ABuild)

[AFNetworking](https://github.com/AFNetworking/AFNetworking) 3/4 extensions.
## Installation
```ruby
pod 'AFNetworkExtension'
```You may also like to install my patched [`AFNetworking`](https://github.com/ElfSundae/AFNetworking) and [`AFNetworkActivityLogger`](https://github.com/ElfSundae/CocoaPods-Specs/tree/master/Specs/AFNetworkActivityLogger) pods, just add my spec-repo source URL before the Trunk source in your `Podfile`:
```ruby
source 'https://github.com/ElfSundae/CocoaPods-Specs.git'
source 'https://cdn.cocoapods.org/'target 'Example' do
pod 'AFNetworkExtension'
end
```## Usage
```objc
NSURL *baseURL = [NSURL URLWithString:@"https://api.github.com"];
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL];
```### [AFNetworkActivityLogger](https://github.com/AFNetworking/AFNetworkActivityLogger) extension
```objc
#if DEBUG
manager.logger.enabled = YES;
[manager.logger setLogLevel:AFLoggerLevelDebug];
#endif
```### AFHTTPSessionManager extension
```objc
// https://api.github.com/users/ElfSundae
NSURL *url = [manager URLWithPath:@"users/ElfSundae"];// Get all tasks which API path has prefix "/users/"
[manager tasksWithPath:@"users/*"];// Get all POST tasks that requesting API path "/foo/bar"
[manager tasksWithPath:@"foo/bar" method:@"POST"];
```### AFNetworkReachabilityManager extension
Get a string representation of an `AFNetworkReachabilityStatus` value:
```objc
AFNetworkReachabilityManager *reachability = [AFNetworkReachabilityManager sharedManager];// 2
NSLog(@"%ld", reachability.networkReachabilityStatus);// @"WiFi"
NSLog(@"%@", reachability.networkReachabilityStatusString);// @"Reachable via WiFi"
NSLog(@"%@", reachability.localizedNetworkReachabilityStatusString);// WWAN
NSLog(@"%@", AFNetworkReachabilityStatusString(AFNetworkReachabilityStatusReachableViaWWAN));
```### AFHTTPRequestSerializer extension
```objc
manager.requestSerializer.HTTPRequestHeadersBlock = ^NSDictionary * (NSURLRequest * request, id parameters) {
return @{ @"FooHeader": NSUUID.UUID.UUIDString };
};manager.requestSerializer.URLQueryParametersBlock = ^NSDictionary * (NSString * method, NSString * URLString, id parameters) {
return @{ @"_time": @((long)NSDate.date.timeIntervalSince1970) };
};
```## License
AFNetworkExtension is available under the MIT license. See the [LICENSE](LICENSE) file for more info.