Получить пост JSON, заголовки иногда ушли - PullRequest
0 голосов
/ 01 июля 2019

У меня странная проблема. Мои журналы показывают, что иногда конечная точка сообщения возвращает 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

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...