Skip to content

Commit 88b65f9

Browse files
Ensure that default media type is used when 'null' is passed-in to StringContent #81506 (#83425)
Co-authored-by: Simon Lovely <[email protected]>
1 parent 05038f9 commit 88b65f9

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public StringContent(string content, Encoding? encoding)
4545
/// <param name="encoding">The encoding to use for the content.</param>
4646
/// <param name="mediaType">The media type to use for the content.</param>
4747
public StringContent(string content, Encoding? encoding, string mediaType)
48-
: this(content, encoding, new MediaTypeHeaderValue(mediaType, (encoding ?? DefaultStringEncoding).WebName))
48+
: this(content, encoding, new MediaTypeHeaderValue(mediaType ?? DefaultMediaType, (encoding ?? DefaultStringEncoding).WebName))
4949
{
5050
}
5151

src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,17 @@ public async Task Ctor_DefineNoEncoding_DefaultEncodingUsed()
7171
Assert.Equal(sourceString, roundTrip);
7272
}
7373

74+
[Fact]
75+
public void Ctor_PassNullForMediaType_DefaultMediaTypeUsed()
76+
{
77+
string sourceString = "\u00C4\u00E4\u00FC\u00DC";
78+
Encoding defaultStringEncoding = Encoding.GetEncoding("utf-8");
79+
var content = new StringContent(sourceString, defaultStringEncoding, ((string)null)!);
80+
81+
// If no media is passed-in, the default is used
82+
Assert.Equal("text/plain", content.Headers.ContentType.MediaType);
83+
}
84+
7485
[Fact]
7586
public async Task Ctor_UseCustomMediaTypeHeaderValue_SpecificEncoding()
7687
{

0 commit comments

Comments
 (0)