Skip to content

RafaelGSS/fastify-amqp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastify-amqp

js-standard-style CI workflow

Fastify AMQP connection plugin wrapper to amqplib, to use with RabbitMQ

Installation

This is a Node.js module available through the npm registry. It can be installed using the npm or yarn command line tools.

npm install fastify-amqp --save

Tests

npm install
npm test

Usage

const fastify = require('fastify')()

fastify.register(require('fastify-amqp'), {
  // the default value is amqp
  protocol: 'amqp',
  hostname: 'localhost',
  // the default value is 5672
  port: 5672,
  // the default value is guest
  username: 'guest',
  // the default value is guest
  password: 'guest'
  // the default value is empty
  vhost: ''
})

fastify.get('/', function (request, reply) {
  const channel = this.amqp.channel

  const queue = 'hello'
  const msg = 'Hello world'

  channel.assertQueue(queue, {
    durable: false
  })
  
  channel.sendToQueue(queue, Buffer.from(msg))
  reply.send(' [x] Sent ' + msg)
})

fastify.listen(3000, err => {
  if (err) throw err
})

Reference

This plugin is just a wrapper to amqplib.

Contains:

  • amqp.connection API to here
  • amqp.channel API to here

Dependencies

Dev Dependencies

  • fastify: Fast and low overhead web framework, for Node.js
  • pre-commit: Automatically install pre-commit hooks for your npm modules.
  • standard: JavaScript Standard Style
  • tap: A Test-Anything-Protocol library for JavaScript
  • typescript: TypeScript is a language for application scale JavaScript development

License

MIT