lewgordon cacb529925
feat(AWS Lambda): Add support for activemq event (#8840)
Co-authored-by: Lew Gordon <lew.gordon@genesys.com>
Co-authored-by: Piotr Grzesik <pj.grzesik@gmail.com>
2021-09-03 12:24:47 +02:00

54 lines
1.3 KiB
JavaScript

'use strict';
// NOTE: `stompit` is bundled into the deployment package
// eslint-disable-next-line import/no-unresolved
const stompit = require('stompit');
function consumer(event, context, callback) {
const functionName = 'consumer';
const messages = event.messages.map((message) => Buffer.from(message.data, 'base64').toString());
// eslint-disable-next-line no-console
console.log(functionName, JSON.stringify(messages));
return callback(null, event);
}
async function producer() {
const connectOptions = {
host: process.env.MQ_HOST,
port: 61614,
ssl: true,
connectHeaders: {
login: process.env.MQ_USERNAME,
passcode: process.env.MQ_PASSWORD,
},
};
const queueName = process.env.QUEUE_NAME;
const sendPromise = new Promise((resolve, reject) => {
stompit.connect(connectOptions, (error, client) => {
if (error) {
console.log(`connect error ${error.message}`);
reject(error);
}
const frame = client.send({
'destination': queueName,
'content-type': 'text/plain',
});
frame.write('Hello from Apache MQ Integration test!');
frame.end();
client.disconnect();
resolve();
});
});
await sendPromise;
return {
statusCode: 200,
};
}
module.exports = { producer, consumer };