diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs b/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs index b9ce8f271464dd..519d15a60012fa 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs @@ -45,7 +45,7 @@ public StringContent(string content, Encoding? encoding) /// The encoding to use for the content. /// The media type to use for the content. public StringContent(string content, Encoding? encoding, string mediaType) - : this(content, encoding, new MediaTypeHeaderValue(mediaType, (encoding ?? DefaultStringEncoding).WebName)) + : this(content, encoding, new MediaTypeHeaderValue(mediaType ?? DefaultMediaType, (encoding ?? DefaultStringEncoding).WebName)) { } diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs index 73e33fde4fa9ba..cb69b3e4e7259b 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs @@ -71,6 +71,17 @@ public async Task Ctor_DefineNoEncoding_DefaultEncodingUsed() Assert.Equal(sourceString, roundTrip); } + [Fact] + public void Ctor_PassNullForMediaType_DefaultMediaTypeUsed() + { + string sourceString = "\u00C4\u00E4\u00FC\u00DC"; + Encoding defaultStringEncoding = Encoding.GetEncoding("utf-8"); + var content = new StringContent(sourceString, defaultStringEncoding, ((string)null)!); + + // If no media is passed-in, the default is used + Assert.Equal("text/plain", content.Headers.ContentType.MediaType); + } + [Fact] public async Task Ctor_UseCustomMediaTypeHeaderValue_SpecificEncoding() {