Сделайте HTTPS-вызов в Firebase-функции - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь сделать вызов в функции firebase локально управляемому серверу. Я не очень знаком с узлом как средой разработки, поэтому я не уверен, в чем проблема.

const functions = require('firebase-functions');
const https = require('http');
exports.testPost = functions.https.onRequest((req, res) => {
  var options = {
    host: 'localdevserver.edu',
    port: 80,
    path: '/my/endpoint'
  };
  let data = '';

  http.get(options, function(resp){
    resp.on('data', function(chunk){
      //do something with chunk
      data += chunk;
      resp.on('end', console.log("dones"));
    });
  }).on("error", function(e){
    console.log("Got error: " + e.message);
  });
});

Когда я просматриваю журнал функций Firebase, он говорит, что либо истекло время ожидания, либо отклонение не определено.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Вы можете использовать SYNC-REQUEST

npm установить запрос синхронизации

var request = require('sync-request');
var res = request('GET', 'http://google.com');
console.log(res.body.toString('utf-8'));

функция будет выглядеть примерно так:

exports.testPost = functions.https.onRequest((req, res) => {

    var request = require('sync-request');
    var res = request('GET', 'http://google.com');
    var res = res.body.toString('utf-8');

   resp.on(res, console.log("dones"));
});
0 голосов
/ 11 ноября 2018

С функциями типа HTTP вам необходимо отправить ответ клиенту, чтобы завершить функцию. В противном случае время истечет.

res.send("OK");

Пожалуйста, прочитайте документацию для более подробной информации.

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