Comments (4)
This has been resolved in v1.3.1, now available on NuGet.
from mockhttp.
If I change to this
mockHandler
.When("/test")
.Respond(HttpStatusCode.OK, new ObjectContent<ResponseDto>(new ResponseDto("OK"), new JsonMediaTypeFormatter()));
Then response content is not null the second time. But it would be good if the json string would work because that's the format I have in my expected payloads. I would like to avoid creating the Dtos before the mocks.
from mockhttp.
Hi Martin,
This is actually a limitation with how ReadAsAsync<T>
uses HttpContent
, and has nothing to do with MockHttp.
HttpContentExtensions.ReadAsAsync<T>
calls HttpContent.ReadAsStreamAsync, which reuses the existing memory buffer without resetting it's position, which causes ReadAsAsync<T>
to return null since it thinks there's no data.
There's not much point attempting to workaroud this in my opinion, so I'd advise simply limiting your application to only call ReadAsAsync<T>
once.
Cheers,
Richard
from mockhttp.
It just occurred to me that you are actually making the request twice, so the real HttpClient would actually send back two different responses. This is definitely a bug in MockHttp's behavior. Thanks for bringing it to my attention.
I'll look at fixing this behavior, but in the meantime you can workaround it by using a different Respond
overload that creates a new HttpConent each time:
mockHandler
.When("/test")
.Respond(req => new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent("{'Status' : 'OK'}", Encoding.UTF8, "application/json")
});
from mockhttp.
Related Issues (20)
- Documentation Request HOT 3
- Adding Response Headers
- Question: Matching Query with XML HOT 4
- Feature Request: Support BaseAddress and DefaultRequestHeaders HOT 3
- Not Compatible with Sync HttpClient Send HOT 4
- Matcher async support HOT 4
- PostAsync with When() returns NotFound - but only when an Expect() is also defined HOT 6
- How to add additional conditions to .When()? HOT 1
- HttpClientJsonExtensions.PostAsJsonAsync Throws NullReferenceException When Serializing the Property/Value Message = "Message:" HOT 2
- Package does not support URI containing fragments HOT 3
- Not seeing anyway to follow redirects HOT 2
- Does not support URL-encoded content in URIs HOT 2
- Add a mechanism to set the BaseAddress of the resulting HttpClient HOT 8
- NullReferenceException if response is not configured. HOT 3
- requestExpectations queue not thread safe HOT 2
- Allow mocking IHttpClientFactory HOT 3
- Overwrite same endpoint with different result HOT 3
- Feature request: clear match counts HOT 4
- Can't Match Using WithFormData, WithHeaders HOT 5
- Library status HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mockhttp.