I'm trying to send a post request using k6's http.post. It needs to have an empty request body (content length 0) and Content-Type: 'application/json'
.
I tried
let res = http.post(url, {}, {
headers: { 'Content-Type': 'application/json' },
});
and
let res = http.post(url, null, {
headers: { 'Content-Type': 'application/json' },
});
and
let res = http.post(url, "", {
headers: { 'Content-Type': 'application/json' },
});
In all cases I got a 411 response because no content length was set. I was expecting the content length to be set to 0.
The only way I can get the request to be sent is to wrap the empty request body in JSON.stringify
, e.g.
let res = http.post(url, JSON.stringify({}), {
headers: { 'Content-Type': 'application/json' },
});
But this means content length of 2, rather than 0. Is there a more correct / idiomatic way to send the empty body?