Модуль Restify + https Невозможно установить заголовки после их отправки клиенту - PullRequest
0 голосов
/ 05 ноября 2018

На самом деле я пытаюсь позвонить в API Google внутри вызова restify. Но у меня есть две проблемы:

1 - Невозможно установить заголовки после их отправки клиенту

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

routes
    .use(server)
    .set('/test', 'get', function(req, res, next) {

            var opts = {
                host: "maps.googleapis.com",
                port : 443,
                path: "/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=xxx"
            }

            var rsl;
            https.get(opts, function(res2) {
                res2.on('data', (d) => {
                    rsl = d.toString('utf8');
                    res.send(200, rsl);
                    return next();
                });
            }).on('error', (e) => {
                  console.error(e);
            });
})

2 - Меня это сейчас не волнует, но это будет мой следующий вопрос. Я прошу через вызов Google API, чтобы получить результат в JSON, но все же я получаю буфер, и я не знаю, как превратить этот в JSON. Если у вас есть идеи, это приветствуется!

1 Ответ

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

1 - Невозможно установить заголовки после их отправки клиенту

headers должен быть частью параметров отправки заголовков с запросом.

var opts = {
             host: "maps.googleapis.com",
             port : 443,
             path: "/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=xxx",
            headers: {
        }
      }

вызов API Google для получения результата в формате json, но все равно я получаю буфер

Документация по API карт Google - https://developers.google.com/maps/documentation/geocoding/intro

Пример запроса, который возвращает ответ в формате json - https://maps.googleapis.com/maps/api/geocode/json?&address=dubai

...