我试图将自定义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>
?它现在不适合我。 。 。但这可能是一个解决方案吗?