sdk-javascript/examples/express-ex
Lance Ball 08e98c7fe9
feat: introduce Message, Serializer, Deserializer and Binding interfaces (#324)
* lib(messages): Implement a 4.0 Messages and other supporting interfaces

This commit introduces the Message, Serializer and Deserializer, and Binding
interfaces used to convert a CloudEvent into a Message that can be sent across
a transport protocol. The first protocol implemented for this is HTTP, and some
of the functionality formerly in src/transport/http has been simplified,
reduced and/or moved to /src/messages/http.

Test for V1 and V3 events are in place. Conformance tests have been modified to use
these new interfaces vs. the HTTP Receiver class.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-09-03 15:51:16 -04:00
..
README.md chore: Update examples to use latest sdk changes (#282) 2020-07-30 09:24:02 -04:00
index.js feat: introduce Message, Serializer, Deserializer and Binding interfaces (#324) 2020-09-03 15:51:16 -04:00
package.json feat: introduce Message, Serializer, Deserializer and Binding interfaces (#324) 2020-09-03 15:51:16 -04:00

README.md

Express Example

How To Start

npm start

Latest Supported Spec (v1.0)

A Structured One

Payload example

curl -X POST \
     -d'@../payload/v1/structured-event-0.json' \
     -H'Content-Type:application/cloudevents+json' \
     http://localhost:3000/

A Structured One with Extension

Payload example

curl -X POST \
     -d'@../payload/v1/structured-event-1.json' \
     -H'Content-Type:application/cloudevents+json' \
     http://localhost:3000/

A Structured One with Base64 Event Data

Payload example

curl -X POST \
     -d'@../payload/v1/structured-event-2.json' \
     -H'Content-Type:application/cloudevents+json' \
     http://localhost:3000/

A Binary One

curl -X POST \
     -d'@../payload/data-0.json' \
     -H'Content-Type:application/json' \
     -H'ce-specversion:1.0' \
     -H'ce-type:com.github.pull.create' \
     -H'ce-source:https://github.com/cloudevents/spec/pull/123' \
     -H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
     -H'ce-time:2019-11-06T11:17:00Z' \
     http://localhost:3000/

A Binary One with Extension

curl -X POST \
     -d'@../payload/data-0.json' \
     -H'Content-Type:application/json' \
     -H'ce-specversion:1.0' \
     -H'ce-type:com.github.pull.create' \
     -H'ce-source:https://github.com/cloudevents/spec/pull/123' \
     -H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
     -H'ce-time:2019-11-06T11:17:00Z' \
     -H'ce-myextension:extension value' \
     http://localhost:3000/

A Binary One with Base 64 Encoding

curl -X POST \
     -d'@../payload/data-1.txt' \
     -H'Content-Type:application/json' \
     -H'ce-specversion:1.0' \
     -H'ce-type:com.github.pull.create' \
     -H'ce-source:https://github.com/cloudevents/spec/pull/123' \
     -H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
     -H'ce-time:2019-11-06T11:17:00Z' \
     http://localhost:3000/

Spec v0.3

A Structured One

Payload example

curl -X POST \
     -d'@../payload/v03/structured-event-0.json' \
     -H'Content-Type:application/cloudevents+json' \
     http://localhost:3000/

A Structured One with Extension

Payload example

curl -X POST \
     -d'@../payload/v03/structured-event-1.json' \
     -H'Content-Type:application/cloudevents+json' \
     http://localhost:3000/

A Structured One with Base64 Event Data

Payload example

curl -X POST \
     -d'@../payload/v03/structured-event-2.json' \
     -H'Content-Type:application/cloudevents+json' \
     http://localhost:3000/

A Binary One

curl -X POST \
     -d'@../payload/data-0.json' \
     -H'Content-Type:application/json' \
     -H'ce-specversion:0.3' \
     -H'ce-type:com.github.pull.create' \
     -H'ce-source:https://github.com/cloudevents/spec/pull/123' \
     -H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
     -H'ce-time:2019-06-21T17:31:00Z' \
     http://localhost:3000/

A Binary One with Extension

curl -X POST \
     -d'@../payload/data-0.json' \
     -H'Content-Type:application/json' \
     -H'ce-specversion:0.3' \
     -H'ce-type:com.github.pull.create' \
     -H'ce-source:https://github.com/cloudevents/spec/pull/123' \
     -H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
     -H'ce-time:2019-06-21T17:31:00Z' \
     -H'ce-myextension:extension value' \
     http://localhost:3000/

A Binary One with Base 64 Encoding

curl -X POST \
     -d'@../payload/data-1.txt' \
     -H'Content-Type:application/json' \
     -H'ce-specversion:0.3' \
     -H'ce-type:com.github.pull.create' \
     -H'ce-source:https://github.com/cloudevents/spec/pull/123' \
     -H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
     -H'ce-time:2019-06-21T17:31:00Z' \
     -H'ce-datacontentencoding:base64' \
     http://localhost:3000/