Skip to content

Commit ffc90c7

Browse files
sammy-SCfacebook-github-bot
authored andcommitted
Remove requestToken being nil check from [RCTNetworkTask validateRequestToken]
Summary: Changelog: Fix [TypeError: Network request failed] on file upload # Problem In 3198009 I made method `loadImageForURL` blocking and nil returning since it was no longer cancellable. However inside `[RCTNetworkTask validateRequestToken]` was a logic counting on request token being non nil. This diff removes this check and adds `nullable` to `[RCTImageURLLoader loadImageForURL]` making it explicit. Reviewed By: PeteTheHeat Differential Revision: D22767174 fbshipit-source-id: 04d5562e381912233b9c14e8156cbf145288f063
1 parent fd85b84 commit ffc90c7

5 files changed

+44
-50
lines changed

Libraries/Image/RCTImageLoader.mm

+22-22
Original file line numberDiff line numberDiff line change
@@ -314,17 +314,17 @@ - (void)setImageCache:(id<RCTImageCache>)cache
314314

315315
#pragma mark - RCTImageLoaderProtocol 2/3
316316

317-
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
318-
callback:(RCTImageLoaderCompletionBlock)callback
317+
- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
318+
callback:(RCTImageLoaderCompletionBlock)callback
319319
{
320320
return [self loadImageWithURLRequest:imageURLRequest
321321
priority:RCTImageLoaderPriorityImmediate
322322
callback:callback];
323323
}
324324

325-
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
326-
priority:(RCTImageLoaderPriority)priority
327-
callback:(RCTImageLoaderCompletionBlock)callback {
325+
- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
326+
priority:(RCTImageLoaderPriority)priority
327+
callback:(RCTImageLoaderCompletionBlock)callback {
328328
return [self loadImageWithURLRequest:imageURLRequest
329329
size:CGSizeZero
330330
scale:1
@@ -336,14 +336,14 @@ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)image
336336
completionBlock:callback];
337337
}
338338

339-
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
340-
size:(CGSize)size
341-
scale:(CGFloat)scale
342-
clipped:(BOOL)clipped
343-
resizeMode:(RCTResizeMode)resizeMode
344-
progressBlock:(RCTImageLoaderProgressBlock)progressBlock
345-
partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock
346-
completionBlock:(RCTImageLoaderCompletionBlock)completionBlock
339+
- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
340+
size:(CGSize)size
341+
scale:(CGFloat)scale
342+
clipped:(BOOL)clipped
343+
resizeMode:(RCTResizeMode)resizeMode
344+
progressBlock:(RCTImageLoaderProgressBlock)progressBlock
345+
partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock
346+
completionBlock:(RCTImageLoaderCompletionBlock)completionBlock
347347
{
348348
return [self loadImageWithURLRequest:imageURLRequest
349349
size:size
@@ -356,15 +356,15 @@ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)image
356356
completionBlock:completionBlock];
357357
}
358358

359-
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
360-
size:(CGSize)size
361-
scale:(CGFloat)scale
362-
clipped:(BOOL)clipped
363-
resizeMode:(RCTResizeMode)resizeMode
364-
priority:(RCTImageLoaderPriority)priority
365-
progressBlock:(RCTImageLoaderProgressBlock)progressBlock
366-
partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock
367-
completionBlock:(RCTImageLoaderCompletionBlock)completionBlock
359+
- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
360+
size:(CGSize)size
361+
scale:(CGFloat)scale
362+
clipped:(BOOL)clipped
363+
resizeMode:(RCTResizeMode)resizeMode
364+
priority:(RCTImageLoaderPriority)priority
365+
progressBlock:(RCTImageLoaderProgressBlock)progressBlock
366+
partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock
367+
completionBlock:(RCTImageLoaderCompletionBlock)completionBlock
368368
{
369369
RCTImageURLLoaderRequest *request = [self loadImageWithURLRequest:imageURLRequest
370370
size:size

Libraries/Image/RCTImageLoaderProtocol.h

+13-13
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ typedef NS_ENUM(NSUInteger, RCTImageLoaderPriority) {
6868
* Loads the specified image at the highest available resolution.
6969
* Can be called from any thread, will call back on an unspecified thread.
7070
*/
71-
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
72-
callback:(RCTImageLoaderCompletionBlock)callback;
71+
- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
72+
callback:(RCTImageLoaderCompletionBlock)callback;
7373
/**
7474
* As above, but includes download `priority`.
7575
*/
76-
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
77-
priority:(RCTImageLoaderPriority)priority
78-
callback:(RCTImageLoaderCompletionBlock)callback;
76+
- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
77+
priority:(RCTImageLoaderPriority)priority
78+
callback:(RCTImageLoaderCompletionBlock)callback;
7979

8080
/**
8181
* As above, but includes target `size`, `scale` and `resizeMode`, which are used to
@@ -86,14 +86,14 @@ typedef NS_ENUM(NSUInteger, RCTImageLoaderPriority) {
8686
* It is meant to be called repeatedly while loading the image as higher quality versions are decoded,
8787
* for instance with progressive JPEGs.
8888
*/
89-
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
90-
size:(CGSize)size
91-
scale:(CGFloat)scale
92-
clipped:(BOOL)clipped
93-
resizeMode:(RCTResizeMode)resizeMode
94-
progressBlock:(RCTImageLoaderProgressBlock)progressBlock
95-
partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock
96-
completionBlock:(RCTImageLoaderCompletionBlock)completionBlock;
89+
- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest
90+
size:(CGSize)size
91+
scale:(CGFloat)scale
92+
clipped:(BOOL)clipped
93+
resizeMode:(RCTResizeMode)resizeMode
94+
progressBlock:(RCTImageLoaderProgressBlock)progressBlock
95+
partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock
96+
completionBlock:(RCTImageLoaderCompletionBlock)completionBlock;
9797

9898
/**
9999
* Finds an appropriate image decoder and passes the target `size`, `scale` and

Libraries/Image/RCTImageURLLoader.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ typedef dispatch_block_t RCTImageLoaderCancellationBlock;
3535
* has finished. The method should also return a cancellation block, if
3636
* applicable.
3737
*/
38-
- (RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL
38+
- (nullable RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL
3939
size:(CGSize)size
4040
scale:(CGFloat)scale
4141
resizeMode:(RCTResizeMode)resizeMode

Libraries/Image/RCTLocalAssetImageLoader.mm

+8-8
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ - (BOOL)shouldCacheLoadedImages
4141
return NO;
4242
}
4343

44-
- (RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL
45-
size:(CGSize)size
46-
scale:(CGFloat)scale
47-
resizeMode:(RCTResizeMode)resizeMode
48-
progressHandler:(RCTImageLoaderProgressBlock)progressHandler
49-
partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler
50-
completionHandler:(RCTImageLoaderCompletionBlock)completionHandler
44+
- (nullable RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL
45+
size:(CGSize)size
46+
scale:(CGFloat)scale
47+
resizeMode:(RCTResizeMode)resizeMode
48+
progressHandler:(RCTImageLoaderProgressBlock)progressHandler
49+
partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler
50+
completionHandler:(RCTImageLoaderCompletionBlock)completionHandler
5151
{
5252
UIImage *image = RCTImageFromLocalAssetURL(imageURL);
5353
if (image) {
@@ -60,7 +60,7 @@ - (RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL
6060
RCTLogWarn(@"%@", message);
6161
completionHandler(RCTErrorWithMessage(message), nil);
6262
}
63-
63+
6464
return nil;
6565
}
6666

Libraries/Network/RCTNetworkTask.mm

-6
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,6 @@ - (BOOL)validateRequestToken:(id)requestToken
9999
{
100100
BOOL valid = YES;
101101
if (_requestToken == nil) {
102-
if (requestToken == nil) {
103-
if (RCT_DEBUG) {
104-
RCTLogError(@"Missing request token for request: %@", _request);
105-
}
106-
valid = NO;
107-
}
108102
_requestToken = requestToken;
109103
} else if (![requestToken isEqual:_requestToken]) {
110104
if (RCT_DEBUG) {

0 commit comments

Comments
 (0)