У меня странная проблема.
Мои журналы показывают, что иногда конечная точка сообщения возвращает http 400, потому что объект заголовка пуст. Кажется, это тот же пользователь, у которого есть проблема.
Я не могу воспроизвести проблему локально, и для большинства пользователей конечная точка работает большую часть времени.
export async function postJson<T>(
url: string,
jsonPayload: string,
caller: string
) {
const headers = new Headers();
headers.append("Content-Type", "application/json");
const payload: RequestInit = {
credentials: "same-origin",
method: "post",
headers: headers,
body: jsonPayload
};
const response = await fetch(url, payload);
if (response.ok) {
//Testing for empty response
const data = await response.text();
if (data) {
return <T>JSON.parse(data);
} else {
return null;
}
} else {
throw new Error(
`Url=${url} returned non-ok status: ${response.status}. Status text:${
response.statusText
}; caller=${caller}, payload=${JSON.stringify(payload)}`
);
}
}
В журнале объект полезной нагрузки отображается как
payload={"credentials":"same-origin","method":"post","headers":{},"body":"...some json..."}
useragent, который получает 400 -
Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Есть идеи?