CloudEvents I/O format support. (#948)

* CloudEvents I/O format support.

* Updated format doc.

* Remove log lines

* This adds support for CloudEvent ingestion at the http router layer.

* Updated per comments.

* Responds with full CloudEvent message.

* Fixed up per comments

* Fix tests

* Checks for cloudevent content-type

* doesn't error on missing content-type.
This commit is contained in:
Travis Reeder
2018-04-23 16:05:13 -07:00
committed by GitHub
parent 48de5c13ed
commit 3eb60e2028
11 changed files with 391 additions and 18 deletions

View File

@@ -0,0 +1,21 @@
# CloudEvents - EXPERIMENTAL
Fn supports CloudEvents throughout the system, meaning on ingestion and/or as a function I/O format.
To use as a function I/O format, set `format: cloudevent`.
To use as as the body of the HTTP request, the following header:
```
FN_CLOUD_EVENT: true
```
If that header is set, it is assumed that the function also supports the CloudEvents format (in other words, it will automatically set `format: cloudevent`).
If you have a function that supports CloudEvents, you can test it with the example file in this directory:
```sh
curl -X POST -H "Content-Type: application/json" -H "FN_CLOUD_EVENT: true" -d @ce-example.json http://localhost:8080/r/rapp/myfunc
```
To make a function that supports CloudEvents, you can use an FDK that supports like fdk-ruby.