Do not overwrite existing Accept headers

This commit is contained in:
Haacked
2013-10-03 09:27:25 -07:00
parent 10064de852
commit e19765ece9
2 changed files with 19 additions and 2 deletions
+14 -1
View File
@@ -18,7 +18,7 @@ namespace Octokit.Tests.Http
public class TheSerializeRequestMethod
{
[Fact]
public void SetsRequestHeader()
public void SetsRequestAcceptHeader()
{
var request = new Request();
var jsonPipeline = new JsonHttpPipeline();
@@ -29,6 +29,19 @@ namespace Octokit.Tests.Http
Assert.Equal("application/vnd.github.v3+json; charset=utf-8", request.Headers["Accept"]);
}
[Fact]
public void DoesNotChangeExistingAcceptsHeader()
{
var request = new Request();
request.Headers.Add("Accept", "application/vnd.github.manifold-preview; charset=utf-8");
var jsonPipeline = new JsonHttpPipeline();
jsonPipeline.SerializeRequest(request);
Assert.Contains("Accept", request.Headers.Keys);
Assert.Equal("application/vnd.github.manifold-preview; charset=utf-8", request.Headers["Accept"]);
}
[Fact]
public void LeavesStringBodyAlone()
{
+5 -1
View File
@@ -25,7 +25,11 @@ namespace Octokit.Http
{
Ensure.ArgumentNotNull(request, "request");
request.Headers["Accept"] = "application/vnd.github.v3+json; charset=utf-8";
if (!request.Headers.ContainsKey("Accept"))
{
request.Headers["Accept"] = "application/vnd.github.v3+json; charset=utf-8";
}
if (request.Endpoint != null && request.Endpoint.ToString().Contains("releases"))
request.Headers["Accept"] = "application/vnd.github.manifold-preview; charset=utf-8";