Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

HTTP

As a publisher, sends each message as an HTTP request to a target URL. As a consumer, runs an embedded HTTP server and turns incoming requests into messages.

URL format

http://host[:port][/path]?method=<verb>

http:///https:// pass through unchanged — they’re already the native scheme the driver expects (the target path, if any, is just part of the URL, not a separate query param).

Examples

Consume a RabbitMQ queue and POST each message to an API, continuous:

mq-bridge-app copy \
  --from rabbitmq://guest:guest@localhost:5672/%2f?queue=orders \
  --to http://internal-api.local/ingest?method=POST

Run an HTTP listener as the source (webhook receiver), continuous:

mq-bridge-app copy \
  --from http://0.0.0.0:8080?method=POST \
  --to kafka://kafka.local:9092?topic=webhooks

Non-blocking publisher (don’t wait for the downstream response):

mq-bridge-app copy --drain \
  --from file:///data/events.jsonl?format=json \
  --to 'https://api.example.com/ingest?method=POST&request_timeout_ms=5000'

Key options

OptionPurpose
methodHTTP method. Publisher: request method (defaults to POST). Consumer: restrict to this method.
request_timeout_msPer-request timeout. Defaults to 30000ms.
workersConsumer-only: worker thread count. Defaults to unlimited.
fire_and_forgetConsumer-only: respond 202 immediately, don’t wait for downstream processing.
message_id_headerHeader to extract the message ID from. Defaults to message-id.

Full field list: reference/http.md.