Я работаю на небольшом веб-сайте, обслуживаю статические файлы с помощью Firebase Hosting (FH) и переписываю все запросы в одну функцию в Firebase Cloud Functions (FCF), где я использую Koa (с koa-router) дляобрабатывать запросы. Однако, когда я пытаюсь проанализировать тело POST-запроса с помощью koa-bodyparser, служба просто зависает, пока не истечет время ожидания.
То же самое происходит при использовании других анализаторов тела, таких как koa-body,и он, кажется, сохраняется независимо от того, куда я поместил парсер, если я не поставлю его после маршрутизатора, и в этом случае проблема исчезнет, хотя я все еще не могу получить доступ к данным, так как у него никогда не будет возможности проанализировать (? ).
Ниже приведена урезанная версия кода, вызывающего проблему:
import * as functions from 'firebase-functions'
import * as Koa from 'koa'
import * as KoaRouter from 'koa-router'
import * as KoaBodyParser from 'koa-bodyparser'
const app = new Koa()
const router = new KoaRouter()
app.use(KoaBodyParser())
router.post('/', (context) => {
// do some stuff with the data
})
app.use(router.routes())
export const serve = functions.https.onRequest(app.callback())
Я все еще довольно новичок во всех этих инструментах и, возможно, что-то упустилСовершенно очевидно, но я не могу найти решение нигде. Если я не ошибаюсь, FCF автоматически анализирует запросы, но Koa не может получить доступ к этим данным, если сам не выполняет синтаксический анализ, поэтому я предполагаю, что что-то не так между автоматическим анализом FCF и анализатором, используемым Koa.
Мне не удалось выдать какие-либо реальные ошибки или полезные сообщения об ошибках, кроме времени ожидания шлюза (504), поэтому у меня не так много времени, и я не смогу предоставить вам многобольше, чем у меня уже есть.
Как мне получить данные?