# amqp_sidecar v0.1.0 - API Reference

## Modules

- [AmqpSidecar.Broker](AmqpSidecar.Broker.md): Behaviour abstracting the AMQP client.
- [AmqpSidecar.Broker.AMQP](AmqpSidecar.Broker.AMQP.md): `AmqpSidecar.Broker` implementation backed by the `amqp` client.

- [AmqpSidecar.Config](AmqpSidecar.Config.md): Parses and validates the broker.json configuration

- [AmqpSidecar.Consumer](AmqpSidecar.Consumer.md): Dynamically creates AMQP consumers based on the configuration.
- [AmqpSidecar.Http](AmqpSidecar.Http.md): Behaviour abstracting outbound HTTP calls (message forwarding).
- [AmqpSidecar.Metrics](AmqpSidecar.Metrics.md): Metrics for the application

- [AmqpSidecar.Publisher](AmqpSidecar.Publisher.md): Publishes messages to an AMQP exchange with a given routing key.
- [AmqpSidecar.PublisherBehaviour](AmqpSidecar.PublisherBehaviour.md): Behaviour for message publishing, allowing the HTTP layer to be tested
with `AmqpSidecar.Publisher.Mock` (Mox).

- [AmqpSidecar.Web.Controllers.MessageController](AmqpSidecar.Web.Controllers.MessageController.md): Handles the message publishing endpoint

- [AmqpSidecar.Web.Plugs.Logger](AmqpSidecar.Web.Plugs.Logger.md): Logs incoming requests

- [AmqpSidecar.Web.Plugs.PrometheusExporter](AmqpSidecar.Web.Plugs.PrometheusExporter.md)
- [AmqpSidecar.Web.Router](AmqpSidecar.Web.Router.md)

