mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 16:42:49 +08:00
Change to fix issue not setting content type header
This commit is contained in:
parent
1a76c9fbd9
commit
be3a2fb6ed
@ -5,6 +5,7 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Headers;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
@ -44,7 +45,11 @@
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ByteArrayContent(await ToByteArray(request.Body));
|
var content = new ByteArrayContent(await ToByteArray(request.Body));
|
||||||
|
|
||||||
|
content.Headers.TryAddWithoutValidation("Content-Type", new[] {request.ContentType});
|
||||||
|
|
||||||
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
private HttpMethod MapMethod(HttpRequest request)
|
private HttpMethod MapMethod(HttpRequest request)
|
||||||
|
@ -117,6 +117,35 @@
|
|||||||
.BDDfy();
|
.BDDfy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Should_map_content_type_header()
|
||||||
|
{
|
||||||
|
this.Given(_ => GivenTheInputRequestHasContent("This is my content"))
|
||||||
|
.And(_ => GivenTheContentTypeIs("application/json"))
|
||||||
|
.And(_ => GivenTheInputRequestHasMethod("GET"))
|
||||||
|
.And(_ => GivenTheInputRequestHasAValidUri())
|
||||||
|
.When(_ => WhenMapped())
|
||||||
|
.Then(_ => ThenNoErrorIsReturned())
|
||||||
|
.And(_ => ThenTheMappedRequestHasContentTypeHeader("application/json"))
|
||||||
|
.And(_ => ThenTheMappedRequestHasContentSize("This is my content".Length))
|
||||||
|
.BDDfy();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GivenTheContentTypeIs(string contentType)
|
||||||
|
{
|
||||||
|
_inputRequest.ContentType = contentType;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ThenTheMappedRequestHasContentTypeHeader(string expected)
|
||||||
|
{
|
||||||
|
_mappedRequest.Data.Content.Headers.ContentType.MediaType.ShouldBe(expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ThenTheMappedRequestHasContentSize(long expected)
|
||||||
|
{
|
||||||
|
_mappedRequest.Data.Content.Headers.ContentLength.ShouldBe(expected);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Should_handle_no_content()
|
public void Should_handle_no_content()
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user