/* * Copyright 2015 Red Hat Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var container = require('rhea'); var args = require('./options.js').options({ 'n': { alias: 'node', default: 'examples', describe: 'name of node (e.g. queue) to which messages are sent'}, 'h': { alias: 'host', default: 'localhost', describe: 'dns or ip name of server where you want to connect'}, 'p': { alias: 'port', default: 5672, describe: 'port to connect to'} }).help('help').argv; var requests = [ 'Twas brillig, and the slithy toves', 'Did gire and gymble in the wabe.', 'All mimsy were the borogroves,', 'And the mome raths outgrabe.' ]; var sender; function next_request(context) { if (context.receiver.source.address) { sender.send({reply_to:context.receiver.source.address, body:requests[0]}) } } container.on('connection_open', function (context) { sender = context.connection.open_sender(args.node); context.connection.open_receiver({source:{dynamic:true}}); }); container.on('receiver_open', function (context) { next_request(context); }); container.on('message', function (context) { console.log(requests.shift() + ' => ' + context.message.body); if (requests.length) { next_request(context); } else { context.connection.close(); } }); container.connect({port: args.port, host: args.host});