Использование Express в функции вызовов firebase, но создает тайм-аут - PullRequest
0 голосов
/ 24 февраля 2020

Я немного растерялся.

У меня есть следующие настройки node.js:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const express = require('express');
const cookieParser = require('cookie-parser');
var https = require('https');

admin.initializeApp();

let app = express();

app.use(cookieParser);


// Set/Get Cookie

app.get('/setuser', (req, res) => {
    console.log('**************SET USER');
    console.log('**************req:');
    console.log(req);

    console.log('**************res:');
    console.log(res);
    res.send('setting user');
});

app.get('/getuser', (req, res) => {

    console.log('**************GET USER');
    console.log('**************req:');
    console.log(req);

    console.log('**************res:');
    console.log(res);
    res.send('getting user');
    //res.send(req.cookies);
});

exports.main = functions.https.onRequest(app);

В базе данных. json Файл, который у меня есть:

"hosting": {
    "site": "sso-login",
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "/main/**",
        "function": "main"
      },
      {
        "source": "**",
        "destination": "index.html"
      }
    ]
  }

Я запускаю все приложение локально в симуляторе firebase.

Теперь, когда я звоню

https://localhost:5100/main/getuser Or https://localhost:5100/main/getuser/

Консоль симулятора говорит Beginning execution of "main" - и затем ничего не происходит.

Если я удаляю перезаписи из базы данных. json, я получаю простую ошибку 404.

Как заставить мои функции setuser / getuser-работать?

1 Ответ

0 голосов
/ 24 февраля 2020

Вы должны отправить ответ в HTTP-функциях Firebase. симулятор завис из-за комментариев к строкам ответа. Вы можете прочитать о в документах https://firebase.google.com/docs/functions/http-events

...