blob: 2fce8f439ccdd51a09344def81e6ccd3fd3c5f1a [file] [log] [blame] [view]
<!--
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
-->
# Title
Currently, OpenWhisk supports returning a JSON object only, e.g.
```shell
# wsk action invoke hello -r
{
"greeting": "Hello stranger!"
}
```
It is necessary to support returning an array too as an array is also a proper JSON object, e.g.
```shell
# wsk action invoke hello-array -r
[
"a",
"b"
]
```
The sequence action should be considered support as well.
# Status
* Current state: In-progress
* Author(s): @ningyougang
# Summary and Motivation
This POEM proposes a new feature that allows user to write their own action which supports an array result.
So actions would be able to return a JSON object or an array.
# Proposed changes
## Openwhisk main repo
Make controller and invoker support both a JSON object and an array result.
## Runtime repos
All runtime images should support an array result. e.g.
* nodejs (supports by default)
* go
* java
* python
* php
* shell
* docker
* ruby
* dotnet
* rust
* swift
* deno
* ballerina
## Openwhisk-cli repo
* The `wsk` CLI needs to support parsing an array result when executing actions.
* The `wsk` CLI needs to support parsing an array result when getting activations.