This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 30561 - Setting HttpContent in System.Net.Http does not set ContentLength header.
Summary: Setting HttpContent in System.Net.Http does not set ContentLength header.
Status: RESOLVED FIXED
Alias: None
Product: Class Libraries
Classification: Mono
Component: System.Net.Http (show other bugs)
Version: unspecified
Hardware: PC Windows
: --- normal
Target Milestone: Untriaged
Assignee: Marek Safar
URL:
Depends on:
Blocks:
 
Reported: 2015-05-28 18:38 UTC by sornakumar
Modified: 2015-07-09 11:53 UTC (History)
3 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description sornakumar 2015-05-28 18:38:31 UTC
var content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("Hello, World")));
var length = content.Headers.ContentLength;
foreach (var header in content.Headers)
{
  if (header.Key == "ContentLength")
  {
    Console.WriteLine("Content Length was set");
    break;
  }
}

The above code prints "Content Length was set" in .NET but does not do the same in Mono. The reason being - the ContentLength property in HttpContentHeaders sets the header in .NET but it just returns the value in mono: https://github.com/mono/mono/blob/master/mcs/class/System.Net.Http/System.Net.Http.Headers/HttpContentHeaders.cs#L70
Comment 1 Chris Hamons 2015-07-02 11:32:28 UTC
This appears to be a Mono Class Library bug. 

@sornakumar MonoMac is for the open source bindings to OS X. I'll move it to the correct product, but if your example doesn't contain "using MonoMac;" please consider filing it against another product.
Comment 2 Marek Safar 2015-07-09 11:53:46 UTC
Fixed in master

Note You need to log in before you can comment on or make changes to this bug.