apache / openwhisk-runtime-nodejs

Apache OpenWhisk Runtime NodeJS supports Apache OpenWhisk functions written in JavaScript for NodeJS
https://openwhisk.apache.org/
Apache License 2.0
60 stars 72 forks source link

Support listening to cloud events in knative #130

Open jthomas opened 5 years ago

jthomas commented 5 years ago

This is a feature request...

Looking at the recent knative integration (#119) - this works great for actions listening to HTTP requests as it proxies between the HTTP request and the expected Web Action parameters/response.

This work could be extended to support listening to Cloud Events on Knative. This would allow those actions to be connected to knative event sources.

Digging around in how Cloud Event receivers work - they use an SDK which just listens on a HTTP port for the incoming events and decodes to an object, e.g. https://github.com/knative/eventing-sources/blob/master/cmd/event_display/main.go

We can just import the CloudEvents JS SDK to handle the HTTP transport and proxy the events to the handler functions. https://github.com/cloudevents/sdk-javascript

jthomas commented 5 years ago

CloudEvents JS SDK now has an example of using it to decode events: https://github.com/cloudevents/sdk-javascript#receiving-events