// TODO
http --port=8844 --spring.cloud.stream.bindings.output.contentType='application/json' > :userRestIn
:userRestIn > log
POST: http://localhost:8844/
{
"testing": false,
"op": "CREATE",
"user": {
"id": 0,
"username": "davide",
"email": "[email protected]",
"suspended": false,
"favNum": 44
}
}
{
"testing": false,
"op": "CREATE",
"user": {
"id": 0,
"username": "davide",
"email": "[email protected]",
"suspended": false,
"favNum": 44
}
}
:userRestIn > scriptable-transform --language=javascript --script="function convertOperation(op) {\n return op;\n}\n\nvar proEvent = JSON.parse(payload);\n\nvar eventHeader = {\n operation: convertOperation(proEvent.op),\n time: new Date(),\n type: ""USER"",\n provider: ""demoDirectory""\n};\n\nvar userEvent = {\n header: eventHeader,\n body: proEvent.user,\n raw: payload\n};\n\nJSON.stringify(userEvent);" > :eventBus
:eventBus > log
function convertOperation(op) {
return op;
}
var proEvent = JSON.parse(payload);
var eventHeader = {
operation: convertOperation(proEvent.op),
time: new Date(),
type: "USER",
provider: "demoDirectory"
};
var userEvent = {
header: eventHeader,
body: proEvent.user,
raw: payload
};
JSON.stringify(userEvent);
{
"header": {
"operation": "CREATE",
"time": "2016-12-23T20:01:37.963Z",
"type": "USER",
"provider": "demoDirectory"
},
"body": {
"id": 0,
"username": "davide",
"email": "[email protected]",
"suspended": false,
"favNum": 44
},
"raw": "{\n\t\"testing\": true,\n\t\"op\": \"CREATE\",\n\t\"user\": {\n\t\t\"id\": 0,\n\t\t\"username\": \"davide\",\n\t\t\"email\": \"[email protected]\",\n\t\t\"suspended\": false,\n\t\t\"favNum\": 44\n\t}\n}"
}