Получить пользовательский агент в вызываемых функциях firebase

#firebase #google-cloud-functions

#firebase #google-cloud-функции

Вопрос:

Как мне получить пользовательский агент в вызываемой функции firebase? Я пытался использовать это:

 functions.https.onCall((data, context) => { 
   console.log("agent", context.rawRequest.agent);
   // ....
  }
);
  

При этом агент регистрируется как неопределенный.
Как мне получить пользовательский агент в этом вызываемом?

Ответ №1:

При вызове вызываемой функции клиентский SDK не предоставляет строку пользовательского агента в запросе. Это не является частью протокола.

Если вы хотите получить строку пользовательского агента, вам нужно будет указать ее в объекте данных, который вы передаете от клиента. Это не произойдет автоматически.

Ответ №2:

Это не написано в документе, как упоминалось выше, но потом я увидел, что firebase отправляет пользовательский агент в заголовке запроса, поэтому я решил копнуть глубже и нашел это:

 functions.https.onCall((data, context) => { 
  const { ['user-agent']: userAgent } = context.rawRequest.headers;
  console.log('userAgent:', userAgent);
});