46 lines
1011 B
JavaScript
46 lines
1011 B
JavaScript
var express = require("express");
|
|
var app = express();
|
|
|
|
const Unmarshaller02 = require("cloudevents-sdk/http/unmarshaller/v02");
|
|
var unmarshaller = new Unmarshaller02();
|
|
|
|
app.use((req, res, next) => {
|
|
var data='';
|
|
|
|
req.setEncoding('utf8');
|
|
req.on('data', function(chunk) {
|
|
data += chunk;
|
|
});
|
|
|
|
req.on('end', function() {
|
|
req.body = data;
|
|
next();
|
|
});
|
|
});
|
|
|
|
app.post('/', function (req, res) {
|
|
console.log(req.headers);
|
|
console.log(req.body);
|
|
|
|
unmarshaller.unmarshall(req.body, req.headers)
|
|
.then(cloudevent => {
|
|
// pretty print
|
|
console.log("Accepted event:");
|
|
console.log(JSON.stringify(cloudevent.format(), null, 2));
|
|
|
|
res.status(201)
|
|
.send("Event Accepted");
|
|
})
|
|
.catch(err => {
|
|
console.error(err);
|
|
res.status(400)
|
|
.header("Content-Type", "application/json")
|
|
.send(JSON.stringify(err));
|
|
});
|
|
|
|
});
|
|
|
|
app.listen(3000, function () {
|
|
console.log("Example app listening on port 3000!");
|
|
});
|