1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <ExpoModulesCore/EXDefines.h> 5 6 @interface EXSessionTaskDelegate : NSObject 7 8 @property (nonatomic, strong, readonly) EXPromiseResolveBlock resolve; 9 @property (nonatomic, strong, readonly) EXPromiseRejectBlock reject; 10 11 - (nonnull instancetype)initWithResolve:(EXPromiseResolveBlock)resolve 12 reject:(EXPromiseRejectBlock)reject; 13 14 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location; 15 16 - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error; 17 18 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask 19 didWriteData:(int64_t)bytesWritten 20 totalBytesWritten:(int64_t)totalBytesWritten 21 totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite; 22 23 - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data; 24 25 - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task 26 didSendBodyData:(int64_t)bytesSent 27 totalBytesSent:(int64_t)totalBytesSent 28 totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend; 29 30 - (NSDictionary *)parseServerResponse:(NSURLResponse *)response; 31 32 @end 33