old mode 100755
new mode 100644
| | |
| | | // AFHTTPSessionManager.h |
| | | // Copyright (c) 2011–2015 Alamofire Software Foundation (http://alamofire.org/) |
| | | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) |
| | | // |
| | | // Permission is hereby granted, free of charge, to any person obtaining a copy |
| | | // of this software and associated documentation files (the "Software"), to deal |
| | |
| | | #if !TARGET_OS_WATCH |
| | | #import <SystemConfiguration/SystemConfiguration.h> |
| | | #endif |
| | | #import <Availability.h> |
| | | |
| | | #if __IPHONE_OS_VERSION_MIN_REQUIRED |
| | | #import <MobileCoreServices/MobileCoreServices.h> |
| | | #else |
| | | #import <CoreServices/CoreServices.h> |
| | | #endif |
| | | #import <TargetConditionals.h> |
| | | |
| | | #import "AFURLSessionManager.h" |
| | | |
| | | #ifndef NS_DESIGNATED_INITIALIZER |
| | | #if __has_attribute(objc_designated_initializer) |
| | | #define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) |
| | | #else |
| | | #define NS_DESIGNATED_INITIALIZER |
| | | #endif |
| | | #endif |
| | | |
| | | /** |
| | | `AFHTTPSessionManager` is a subclass of `AFURLSessionManager` with convenience methods for making HTTP requests. When a `baseURL` is provided, requests made with the `GET` / `POST` / et al. convenience methods can be made with relative paths. |
| | |
| | | |
| | | Developers targeting iOS 7 or Mac OS X 10.9 or later that deal extensively with a web service are encouraged to subclass `AFHTTPSessionManager`, providing a class method that returns a shared singleton object on which authentication and other configuration can be shared across the application. |
| | | |
| | | For developers targeting iOS 6 or Mac OS X 10.8 or earlier, `AFHTTPRequestOperationManager` may be used to similar effect. |
| | | |
| | | ## Methods to Override |
| | | |
| | | To change the behavior of all data task operation construction, which is also used in the `GET` / `POST` / et al. convenience methods, override `dataTaskWithRequest:completionHandler:`. |
| | | To change the behavior of all data task operation construction, which is also used in the `GET` / `POST` / et al. convenience methods, override `dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:`. |
| | | |
| | | ## Serialization |
| | | |
| | |
| | | @warning Managers for background sessions must be owned for the duration of their use. This can be accomplished by creating an application-wide or shared singleton instance. |
| | | */ |
| | | |
| | | #if (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000) || (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090) || TARGET_OS_WATCH |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | @interface AFHTTPSessionManager : AFURLSessionManager <NSSecureCoding, NSCopying> |
| | |
| | | @warning `responseSerializer` must not be `nil`. |
| | | */ |
| | | @property (nonatomic, strong) AFHTTPResponseSerializer <AFURLResponseSerialization> * responseSerializer; |
| | | |
| | | ///------------------------------- |
| | | /// @name Managing Security Policy |
| | | ///------------------------------- |
| | | |
| | | /** |
| | | The security policy used by created session to evaluate server trust for secure connections. `AFURLSessionManager` uses the `defaultPolicy` unless otherwise specified. A security policy configured with `AFSSLPinningModePublicKey` or `AFSSLPinningModeCertificate` can only be applied on a session manager initialized with a secure base URL (i.e. https). Applying a security policy with pinning enabled on an insecure session manager throws an `Invalid Security Policy` exception. |
| | | */ |
| | | @property (nonatomic, strong) AFSecurityPolicy *securityPolicy; |
| | | |
| | | ///--------------------- |
| | | /// @name Initialization |
| | |
| | | |
| | | /** |
| | | Creates and runs an `NSURLSessionDataTask` with a `GET` request. |
| | | |
| | | |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param downloadProgress A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | @see -dataTaskWithRequest:completionHandler: |
| | | |
| | | @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)GET:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure; |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | progress:(nullable void (^)(NSProgress *downloadProgress))downloadProgress |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | /** |
| | | Creates and runs an `NSURLSessionDataTask` with a `HEAD` request. |
| | | |
| | | |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes a single arguments: the data task. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | |
| | | @see -dataTaskWithRequest:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)HEAD:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | success:(nullable void (^)(NSURLSessionDataTask *task))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure; |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | success:(nullable void (^)(NSURLSessionDataTask *task))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | /** |
| | | Creates and runs an `NSURLSessionDataTask` with a `POST` request. |
| | | |
| | | |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | @see -dataTaskWithRequest:completionHandler: |
| | | |
| | | @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure; |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | /** |
| | | Creates and runs an `NSURLSessionDataTask` with a multipart `POST` request. |
| | | |
| | | |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param block A block that takes a single argument and appends data to the HTTP body. The block argument is an object adopting the `AFMultipartFormData` protocol. |
| | | @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | @see -dataTaskWithRequest:completionHandler: |
| | | |
| | | @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | constructingBodyWithBlock:(nullable void (^)(id <AFMultipartFormData> formData))block |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure; |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | constructingBodyWithBlock:(nullable void (^)(id <AFMultipartFormData> formData))block |
| | | progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | /** |
| | | Creates and runs an `NSURLSessionDataTask` with a `PUT` request. |
| | | |
| | | |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | |
| | | @see -dataTaskWithRequest:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)PUT:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure; |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | /** |
| | | Creates and runs an `NSURLSessionDataTask` with a `PATCH` request. |
| | | |
| | | |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | |
| | | @see -dataTaskWithRequest:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)PATCH:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure; |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | /** |
| | | Creates and runs an `NSURLSessionDataTask` with a `DELETE` request. |
| | | |
| | | |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | |
| | | @see -dataTaskWithRequest:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)DELETE:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure; |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | /** |
| | | Creates an `NSURLSessionDataTask` with a custom `HTTPMethod` request. |
| | | |
| | | @param method The HTTPMethod string used to create the request. |
| | | @param URLString The URL string used to create the request URL. |
| | | @param parameters The parameters to be encoded according to the client request serializer. |
| | | @param headers The headers appended to the default headers for this request. |
| | | @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue. |
| | | @param downloadProgress A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue. |
| | | @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. |
| | | @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. |
| | | |
| | | @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: |
| | | */ |
| | | - (nullable NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method |
| | | URLString:(NSString *)URLString |
| | | parameters:(nullable id)parameters |
| | | headers:(nullable NSDictionary <NSString *, NSString *> *)headers |
| | | uploadProgress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress |
| | | downloadProgress:(nullable void (^)(NSProgress *downloadProgress))downloadProgress |
| | | success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success |
| | | failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |
| | | |
| | | #endif |