如何通过Cloud Function访问Firebase Hosting时返回基本响应

时间:2017-07-17 04:35:47

标签: firebase google-cloud-functions json-ld

我试图将自定义json+ld放到我的Firebase网站上。我尝试通过使用云功能拦截("重写")我的网站请求,通过Fetch API获取一些json+ld信息,然后将其添加到内容Firebase通常会在原来的道路上服务。

有没有办法获得" base"请求Firebase提供服务并附加内容吗?

这是我的代码:

exports.eventJsonLd = functions.https.onRequest((req, res) => {
    if (req.path == '/') {
        fetch('http://pathtoMyApi?clientIp=' + req.ip).then(resp => {
        if (resp.ok) {
            return resp.json();
        }
        throw new Error('Could not retrieve json+ld');
    })
        .then(x => {

            //*** right here is where I would like to take this script tag 
            //*** and insert it into the body of the normal request to this path

            res.send('<script type="application/ld+json">' + JSON.stringify(x[0]).replace(/typeString/g, '@type').replace(/contextString/g, '@context') + '</script>');

         })
        .catch(err => {
            console.log('Fetch error: ' + err.message);
            res.status(500).send(err.message);
        });
    }
});

任何线索?感谢。

更新 如果我要做像

这样的事情呢?
<script type='application/ld+json' src='http://path-to-my-cloud-function/'></script>

?它现在不适合我。 。 。但这可能是一个解决方案吗?

0 个答案:

没有答案