Angular Сервисный запрос и запрос Firebase с ngsw-bypass в заголовке - PullRequest
0 голосов
/ 03 апреля 2020

Когда я отправляю запрос GET на

https://firestore.googleapis.com/v1/projects/....

, работник службы перехватывает запрос и передает последний ответ из кэша, если он доступен. Пока все хорошо.

У меня есть кнопка "force-refre sh" на странице. При нажатии я хочу, чтобы сервисный работник проигнорировал запрос и позволил браузеру выполнить свою работу. Работает нормально, параметр добавляется в заголовок запроса:

access-control-request-headers: ngsw-bypass

Этот параметр можно установить как заголовок запроса или параметр запроса в URL.

Проблема в том, что Firebase жалуется на дополнительный параметр, заданный в качестве заголовка или параметра запроса, не имеет значения.

{
  "error": {
    "code": 400,
    "message": "Invalid JSON payload received. Unknown name \"ngsw-bypass\": Cannot bind query parameter. Field 'ngsw-bypass' could not be found in request message.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "description": "Invalid JSON payload received. Unknown name \"ngsw-bypass\": Cannot bind query parameter. Field 'ngsw-bypass' could not be found in request message."
          }
        ]
      }
    ]
  }
}

Есть ли известное решение для этого?

...