You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.4 KiB
44 lines
1.4 KiB
//
|
|
// FLEXNetworkTransaction.h
|
|
// Flipboard
|
|
//
|
|
// Created by Ryan Olson on 2/8/15.
|
|
// Copyright (c) 2015 Flipboard. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "UIKit/UIKit.h"
|
|
|
|
typedef NS_ENUM(NSInteger, FLEXNetworkTransactionState) {
|
|
FLEXNetworkTransactionStateUnstarted,
|
|
FLEXNetworkTransactionStateAwaitingResponse,
|
|
FLEXNetworkTransactionStateReceivingData,
|
|
FLEXNetworkTransactionStateFinished,
|
|
FLEXNetworkTransactionStateFailed
|
|
};
|
|
|
|
@interface FLEXNetworkTransaction : NSObject
|
|
|
|
@property (nonatomic, copy) NSString *requestID;
|
|
|
|
@property (nonatomic) NSURLRequest *request;
|
|
@property (nonatomic) NSURLResponse *response;
|
|
@property (nonatomic, copy) NSString *requestMechanism;
|
|
@property (nonatomic) FLEXNetworkTransactionState transactionState;
|
|
@property (nonatomic) NSError *error;
|
|
|
|
@property (nonatomic) NSDate *startTime;
|
|
@property (nonatomic) NSTimeInterval latency;
|
|
@property (nonatomic) NSTimeInterval duration;
|
|
|
|
@property (nonatomic) int64_t receivedDataLength;
|
|
|
|
/// Only applicable for image downloads. A small thumbnail to preview the full response.
|
|
@property (nonatomic) UIImage *responseThumbnail;
|
|
|
|
/// Populated lazily. Handles both normal HTTPBody data and HTTPBodyStreams.
|
|
@property (nonatomic, readonly) NSData *cachedRequestBody;
|
|
|
|
+ (NSString *)readableStringFromTransactionState:(FLEXNetworkTransactionState)state;
|
|
|
|
@end
|