While we're on the status code topic I'd like to share some feedback we got from developers using OpenWhisk.
They have complained that for blocking activations, when the system can't execute the action, they get a 202 instead. The feedback was that it's not correct for a system to override the intention of the developer, and that the correct response should be an error status code. The system should also stop the execution to avoid wasting resources. Since OpenWhisk actions can be invoked from a browser too (HTML content, or other content type that can be displayed by the browser), dealing with a 202 becomes complicated, and it's not in line with its purpose either [1] "cases where another process or server handles the request, or for batch processing". [1] - https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202 On Mon, Jan 25, 2021 at 7:00 AM Rodric Rabbah <rod...@gmail.com> wrote: > Thanks Jiang for addressing this long standing bug. > > I reviewed the PR. The 400 status code for developer errors also matches > the web action response. I think the only real debate is whether > application error should be 207 or 400. If a web action responds with an > error and no explicit status code, is it treated as a 20x response. So I > find the change in your PR consistent. > > There may be some effects to check in the npm client and the wsk (or other > clis). > > -r > > On Mon, Jan 25, 2021 at 1:19 AM 蒋鹏程 <jiang.pengch...@navercorp.com> wrote: > > > Dear whiskers: > > > > Currently we are using 502 BadGateway for ApplicationError and > > DeveloperError, which is not very appropriate I think, so I submit a PR > to > > change this: > > > > 1. Use MultiStatus for ApplicationError > > 2. Use BadRequest for DeveloperError > > > > Any comments and suggestions are welcomed > > > > refs: > > 1. https://github.com/apache/openwhisk/issues/645#issuecomment-232534948 > > 2. https://github.com/apache/openwhisk/pull/5047 > > > > Best Regards > > Jiang Pengcheng > > > > > > >