From 0bcc686c1cc90fd44de7a28e2f56ea20fe2f5123 Mon Sep 17 00:00:00 2001 From: Paito Anderson Date: Tue, 28 Jul 2020 13:14:04 -0700 Subject: [PATCH] Fix iOS Image.getSizeWithHeaders (#29338) Summary: Fixes https://github.com/facebook/react-native/issues/28632 Image.getSizeWithHeaders() was not working as intended on iOS. ## Changelog [iOS] [Fixed] - Fixed headers in `Image.getSizeWithHeaders`. Pull Request resolved: https://github.com/facebook/react-native/pull/29338 Test Plan: Used RNTester and an Image URL requiring a Bearer token to test. Code: Screen Shot 2020-07-10 at 3 00 58 PM With Bearer Token: Screen Shot 2020-07-10 at 3 02 48 PM Without Bearer Token: Screen Shot 2020-07-10 at 3 04 32 PM Reviewed By: cpojer Differential Revision: D22783037 Pulled By: PeteTheHeat fbshipit-source-id: 3ad5026e71607c61d42316784844c5295bc1dcae --- Libraries/Image/RCTImageLoader.mm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Libraries/Image/RCTImageLoader.mm b/Libraries/Image/RCTImageLoader.mm index e356fb2d79c..635f89d22de 100644 --- a/Libraries/Image/RCTImageLoader.mm +++ b/Libraries/Image/RCTImageLoader.mm @@ -1163,7 +1163,11 @@ RCT_EXPORT_METHOD(getSizeWithHeaders:(NSString *)uri resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) { - NSURLRequest *request = [RCTConvert NSURLRequest:uri]; + NSURL *URL = [RCTConvert NSURL:uri]; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; + [headers enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) { + [request addValue:[RCTConvert NSString:value] forHTTPHeaderField:key]; + }]; [self getImageSizeForURLRequest:request block:^(NSError *error, CGSize size) { if (error) {