FLEXNetworkTransaction.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // FLEXNetworkTransaction.h
  3. // Flipboard
  4. //
  5. // Created by Ryan Olson on 2/8/15.
  6. // Copyright (c) 2015 Flipboard. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef NS_ENUM(NSInteger, FLEXNetworkTransactionState) {
  10. FLEXNetworkTransactionStateUnstarted,
  11. FLEXNetworkTransactionStateAwaitingResponse,
  12. FLEXNetworkTransactionStateReceivingData,
  13. FLEXNetworkTransactionStateFinished,
  14. FLEXNetworkTransactionStateFailed
  15. };
  16. @interface FLEXNetworkTransaction : NSObject
  17. @property (nonatomic, copy) NSString *requestId;
  18. @property (nonatomic, strong) NSURLRequest *request;
  19. @property (nonatomic, strong) NSURLResponse *response;
  20. @property (nonatomic, copy) NSString *requestMechanism;
  21. @property (nonatomic, assign) FLEXNetworkTransactionState transactionState;
  22. @property (nonatomic, strong) NSError *error;
  23. @property (nonatomic, strong) NSDate *startTime;
  24. @property (nonatomic, assign) NSTimeInterval latency;
  25. @property (nonatomic, assign) NSTimeInterval duration;
  26. @property (nonatomic, assign) int64_t receivedDataLength;
  27. /// Only applicable for image downloads. A small thumbnail to preview the full response.
  28. @property (nonatomic, strong) UIImage *responseThumbnail;
  29. + (NSString *)readableStringFromTransactionState:(FLEXNetworkTransactionState)state;
  30. @end