QNSessionManager.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #import <Foundation/Foundation.h>
  2. #import "QNConfiguration.h"
  3. #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)
  4. @class QNResponseInfo;
  5. typedef void (^QNInternalProgressBlock)(long long totalBytesWritten, long long totalBytesExpectedToWrite);
  6. typedef void (^QNCompleteBlock)(QNResponseInfo *httpResponseInfo, NSDictionary *respBody);
  7. typedef BOOL (^QNCancelBlock)(void);
  8. @interface QNSessionManager : NSObject
  9. - (instancetype)initWithProxy:(NSDictionary *)proxyDict
  10. timeout:(UInt32)timeout
  11. urlConverter:(QNUrlConvert)converter;
  12. - (void)multipartPost:(NSString *)url
  13. withData:(NSData *)data
  14. withParams:(NSDictionary *)params
  15. withFileName:(NSString *)key
  16. withMimeType:(NSString *)mime
  17. withIdentifier:(NSString *)identifier
  18. withCompleteBlock:(QNCompleteBlock)completeBlock
  19. withProgressBlock:(QNInternalProgressBlock)progressBlock
  20. withCancelBlock:(QNCancelBlock)cancelBlock
  21. withAccess:(NSString *)access;
  22. - (void)post:(NSString *)url
  23. withData:(NSData *)data
  24. withParams:(NSDictionary *)params
  25. withHeaders:(NSDictionary *)headers
  26. withIdentifier:(NSString *)identifier
  27. withCompleteBlock:(QNCompleteBlock)completeBlock
  28. withProgressBlock:(QNInternalProgressBlock)progressBlock
  29. withCancelBlock:(QNCancelBlock)cancelBlock
  30. withAccess:(NSString *)access;
  31. - (void)get:(NSString *)url
  32. withHeaders:(NSDictionary *)headers
  33. withCompleteBlock:(QNCompleteBlock)completeBlock;
  34. - (void)invalidateSessionWithIdentifier:(NSString *)identifier;
  35. @end
  36. #endif