javascript - 在 Firebase Cloud 函数中返回 XML

标签 javascript node.js xml firebase google-cloud-functions

我正在尝试设置一个返回 xml 的云函数。我能够创建并记录 xml,但当我尝试返回它时,它崩溃并出现以下错误。

TypeError: Converting circular structure to JSON at Object.stringify (native) at stringify (/var/tmp/worker/node_modules/express/lib/response.js:1119:12) at ServerResponse.json (/var/tmp/worker/node_modules/express/lib/response.js:260:14) at ServerResponse.send (/var/tmp/worker/node_modules/express/lib/response.js:158:21) at cors (/user_code/index.js:663:21) at cors (/user_code/node_modules/cors/lib/index.js:188:7) at /user_code/node_modules/cors/lib/index.js:224:17 at originCallback (/user_code/node_modules/cors/lib/index.js:214:15) at /user_code/node_modules/cors/lib/index.js:219:13 at optionsCallback (/user_code/node_modules/cors/lib/index.js:199:9)

我的功能

exports.sendXMLResponeSample = functions.https.onRequest((request, response) => {
  cors(request, response, () => {
    // import xmlbuilder
    const builder = require('xmlbuilder');
    // create my object to convert to xml
    var myFeedObject = {
      "somekey": "some value",
      "age": 59,
      "eye color": "brown"
    }
    // convert myFeedObject to xml
    const feed = builder.create(myFeedObject, { encoding: 'utf-8' })
    console.log("feed.end({ pretty: true }) = (below)");
    console.log(feed.end({ pretty: true }));
    // return xml
    return response.send(200, feed) // <<< error occurs here
  })
})

我相信该错误表明 firebase 云函数期望我在响应中返回 JSON 对象而不是 xml 对象,但我不确定如何告诉它在响应中期望 xml 对象。

有人了解如何在 Firebase 云函数中返回 xml 对象吗?

编辑: 该对象已转换为 xml 对象,没有任何问题。尝试返回 xml 对象时会发生错误。

最佳答案

您可以在云函数返回给调用者的响应对象上使用.contentType(type: string)

像这样:

res.status(200)
   .contentType('text/xml; charset=utf8')
   .send(xmlString);

关于javascript - 在 Firebase Cloud 函数中返回 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51846874/

相关文章:

javascript - Eclipse 类型变量

javascript - 如何使对象解构元素的某些部分成为常量?

javascript - Express js 4x :req. 参数返回空对象

android - 获取此示例的节点值的简单方法

javascript - 当输入标签中有空格时禁用提交按钮

javascript - React Router 4 和布局中的页脚组件位置错误

node.js - 自定义适配器在 sails v0.10 中失败

javascript - Access-Control-Allow-Origin 不允许 Origin <origin>

xml - 使用 XPath 如何选择没有属性的元素

在 R 中以 block 的形式读取和解析 xml