diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/ios/RunnerTests/FWFDataConvertersTests.m b/packages/webview_flutter/webview_flutter_wkwebview/example/ios/RunnerTests/FWFDataConvertersTests.m index 1fc5a95398bd..ca7d6f938599 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/ios/RunnerTests/FWFDataConvertersTests.m +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/ios/RunnerTests/FWFDataConvertersTests.m @@ -25,6 +25,16 @@ - (void)testFWFNSURLRequestFromRequestData { XCTAssertEqualObjects(request.allHTTPHeaderFields, @{@"a" : @"header"}); } +- (void)testFWFNSURLRequestFromRequestDataDoesNotOverrideDefaultValuesWithNull { + NSURLRequest *request = + FWFNSURLRequestFromRequestData([FWFNSUrlRequestData makeWithUrl:@"https://flutter.dev" + httpMethod:nil + httpBody:nil + allHttpHeaderFields:@{}]); + + XCTAssertEqualObjects(request.HTTPMethod, @"GET"); +} + - (void)testFWFNSHTTPCookieFromCookieData { NSHTTPCookie *cookie = FWFNSHTTPCookieFromCookieData([FWFNSHttpCookieData makeWithPropertyKeys:@[ [FWFNSHttpCookiePropertyKeyEnumData diff --git a/packages/webview_flutter/webview_flutter_wkwebview/ios/Classes/FWFDataConverters.m b/packages/webview_flutter/webview_flutter_wkwebview/ios/Classes/FWFDataConverters.m index 759bfedc1621..8ecc9d303000 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/ios/Classes/FWFDataConverters.m +++ b/packages/webview_flutter/webview_flutter_wkwebview/ios/Classes/FWFDataConverters.m @@ -17,8 +17,12 @@ return nil; } - [request setHTTPMethod:data.httpMethod]; - [request setHTTPBody:data.httpBody.data]; + if (data.httpMethod) { + [request setHTTPMethod:data.httpMethod]; + } + if (data.httpBody) { + [request setHTTPBody:data.httpBody.data]; + } [request setAllHTTPHeaderFields:data.allHttpHeaderFields]; return request;