forked from loafle/openapi-generator-original
213 lines
5.2 KiB
Objective-C
213 lines
5.2 KiB
Objective-C
#import <Foundation/Foundation.h>
|
|
#import <ISO8601/ISO8601.h>
|
|
#import <AFNetworking/AFHTTPRequestOperationManager.h>
|
|
#import "SWGJSONResponseSerializer.h"
|
|
#import "SWGJSONRequestSerializer.h"
|
|
#import "SWGFile.h"
|
|
#import "SWGQueryParamCollection.h"
|
|
#import "SWGConfiguration.h"
|
|
|
|
|
|
#import "SWGUser.h"
|
|
#import "SWGCategory.h"
|
|
#import "SWGPet.h"
|
|
#import "SWGTag.h"
|
|
#import "SWGOrder.h"
|
|
|
|
|
|
/**
|
|
* A key for `NSError` user info dictionaries.
|
|
*
|
|
* The corresponding value is the parsed response body for an HTTP error.
|
|
*/
|
|
extern NSString *const SWGResponseObjectErrorKey;
|
|
|
|
|
|
@interface SWGApiClient : AFHTTPRequestOperationManager
|
|
|
|
@property(nonatomic, assign) NSURLRequestCachePolicy cachePolicy;
|
|
@property(nonatomic, assign) NSTimeInterval timeoutInterval;
|
|
@property(nonatomic, assign) BOOL logRequests;
|
|
@property(nonatomic, assign) BOOL logCacheHits;
|
|
@property(nonatomic, assign) BOOL logServerResponses;
|
|
@property(nonatomic, assign) BOOL logJSON;
|
|
@property(nonatomic, assign) BOOL logHTTP;
|
|
@property(nonatomic, readonly) NSOperationQueue* queue;
|
|
|
|
/**
|
|
* Get the Api Client instance from pool
|
|
*
|
|
* @param baseUrl The base url of api client.
|
|
*
|
|
* @return The SWGApiClient instance.
|
|
*/
|
|
+(SWGApiClient *)sharedClientFromPool:(NSString *)baseUrl;
|
|
|
|
/**
|
|
* Get the operations queue
|
|
*
|
|
* @return The `shardQueue` static variable.
|
|
*/
|
|
+(NSOperationQueue*) sharedQueue;
|
|
|
|
/**
|
|
* Turn on logging
|
|
*
|
|
* @param state logging state, must be `YES` or `NO`
|
|
*/
|
|
+(void)setLoggingEnabled:(bool) state;
|
|
|
|
/**
|
|
* Clear Cache
|
|
*/
|
|
+(void)clearCache;
|
|
|
|
/**
|
|
* Turn on cache
|
|
*
|
|
* @param enabled If the cached is enable, must be `YES` or `NO`
|
|
*/
|
|
+(void)setCacheEnabled:(BOOL) enabled;
|
|
|
|
/**
|
|
* Get the request queue size
|
|
*
|
|
* @return The size of `queuedRequests` static variable.
|
|
*/
|
|
+(unsigned long)requestQueueSize;
|
|
|
|
/**
|
|
* Set the client unreachable
|
|
*
|
|
* @param state off line state, must be `YES` or `NO`
|
|
*/
|
|
+(void) setOfflineState:(BOOL) state;
|
|
|
|
/**
|
|
* Get the client reachability
|
|
*
|
|
* @return The client reachability.
|
|
*/
|
|
+(AFNetworkReachabilityStatus) getReachabilityStatus;
|
|
|
|
/**
|
|
* Get the next request id
|
|
*
|
|
* @return The next executed request id.
|
|
*/
|
|
+(NSNumber*) nextRequestId;
|
|
|
|
/**
|
|
* Generate request id and add it to the queue
|
|
*
|
|
* @return The next executed request id.
|
|
*/
|
|
+(NSNumber*) queueRequest;
|
|
|
|
/**
|
|
* Remove request id from the queue
|
|
*
|
|
* @param requestId The request which will be removed.
|
|
*/
|
|
+(void) cancelRequest:(NSNumber*)requestId;
|
|
|
|
/**
|
|
* URL encode NSString
|
|
*
|
|
* @param unescaped The string which will be escaped.
|
|
*
|
|
* @return The escaped string.
|
|
*/
|
|
+(NSString*) escape:(id)unescaped;
|
|
|
|
/**
|
|
* Customize the behavior when the reachability changed
|
|
*
|
|
* @param changeBlock The block will be executed when the reachability changed.
|
|
*/
|
|
+(void) setReachabilityChangeBlock:(void(^)(int))changeBlock;
|
|
|
|
/**
|
|
* Set the client reachability strategy
|
|
*
|
|
* @param host The host of SWGApiClient.
|
|
*/
|
|
+(void) configureCacheReachibilityForHost:(NSString*)host;
|
|
|
|
/**
|
|
* Detect Accept header from accepts NSArray
|
|
*
|
|
* @param accepts NSArray of header
|
|
*
|
|
* @return The Accept header
|
|
*/
|
|
+(NSString *) selectHeaderAccept:(NSArray *)accepts;
|
|
|
|
/**
|
|
* Detect Content-Type header from contentTypes NSArray
|
|
*
|
|
* @param contentTypes NSArray of header
|
|
*
|
|
* @return The Content-Type header
|
|
*/
|
|
+(NSString *) selectHeaderContentType:(NSArray *)contentTypes;
|
|
|
|
/**
|
|
* Set header for request
|
|
*
|
|
* @param value The header value
|
|
* @param forKey The header key
|
|
*/
|
|
-(void)setHeaderValue:(NSString*) value
|
|
forKey:(NSString*) forKey;
|
|
|
|
/**
|
|
* Update header parameters and query parameters for authentication
|
|
*
|
|
* @param headers The header parameter will be udpated, passed by pointer to pointer.
|
|
* @param querys The query parameters will be updated, passed by pointer to pointer.
|
|
* @param authSettings The authentication names NSArray.
|
|
*/
|
|
- (void) updateHeaderParams:(NSDictionary **)headers
|
|
queryParams:(NSDictionary **)querys
|
|
WithAuthSettings:(NSArray *)authSettings;
|
|
|
|
/**
|
|
* Deserialize the given data to Objective-C object.
|
|
*
|
|
* @param data The data will be deserialized.
|
|
* @param class The type of objective-c object.
|
|
*/
|
|
- (id) deserialize:(id) data class:(NSString *) class;
|
|
|
|
/**
|
|
* Perform request
|
|
*
|
|
* @param path Request url.
|
|
* @param method Request method.
|
|
* @param queryParams Request query parameters.
|
|
* @param body Request body.
|
|
* @param headerParams Request header parameters.
|
|
* @param authSettings Request authentication names.
|
|
* @param requestContentType Request content-type.
|
|
* @param responseContentType Response content-type.
|
|
* @param completionBlock The block will be executed when the request completed.
|
|
*
|
|
* @return The request id.
|
|
*/
|
|
-(NSNumber*) requestWithCompletionBlock:(NSString*) path
|
|
method:(NSString*) method
|
|
queryParams:(NSDictionary*) queryParams
|
|
body:(id) body
|
|
headerParams:(NSDictionary*) headerParams
|
|
authSettings: (NSArray *) authSettings
|
|
requestContentType:(NSString*) requestContentType
|
|
responseContentType:(NSString*) responseContentType
|
|
completionBlock:(void (^)(id, NSError *))completionBlock;
|
|
|
|
|
|
@end
|
|
|
|
|
|
|