【问题标题】:How to change HTTP status codes from inside an OpenWhisk action如何从 OpenWhisk 操作中更改 HTTP 状态代码
【发布时间】:2017-08-16 00:38:51
【问题描述】:

尝试通过 api connect 从 openWhisk Web 操作更改 http 状态代码

这是我的 openWhisk 操作:

function main() {
  return {
    statusCode: 400
  }
}

并连接到一个api端点/secure

所以点击/secure 总是返回 200 而不是 400,并且操作的输出被添加到响应负载中。

我做错了什么?

【问题讨论】:

  • 您是否将操作创建为 Web 操作?
  • @markusthoemmes 是的,如果不是网络操作,我无法在 api connect 中使用它

标签: openwhisk


【解决方案1】:

使用以下代码创建一个动作:

function main(){
  return ({
        headers: {
          'Content-Type': 'application/json'
        },
        statusCode: 200,
        body: new Buffer(JSON.stringify("Hello World")).toString('base64')
      });
};

将其称为网络操作,并以http 作为扩展名。 要了解有关上下文扩展的更多信息,请阅读here(如果您还没有的话)。

在这种情况下,如果您将状态码从 200 更改为 400,您将看到不同之处。 如果我没记错的话,你需要在返回块中包含标题。

【讨论】:

    猜你喜欢
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2015-02-22
    相关资源
    最近更新 更多