Messages can also come from HTTP messages or go to other APIs through HTTP requests. This adapter will help you doing so in a very easy manner with the Symfony Message component.
They are two scenarios:
- Configure the adapter to receive your messages
# config/packages/message_http_adapter.yaml
message_http_adapter:
consumers:
- path: '/api/do-something'
message: 'App\Message\DoSomething'
- Configure Symfony's router to use your HTTP consumers
# app/config/routing.yml
http_messages:
resource: .
type: http_messages
- Send your HTTP request!
curl 'http://localhost:8000/api/do-something' \
-X POST \
--data-binary '{"propertyOfDoSomethingObject": "yourValue"}' --compressed
- Configure the producer
# config/packages/message_http_adapter.yaml
message_http_adapter:
producers:
requestbin:
endpoint: 'https://requestb.in/pdjzjmpd'
- Route messages to the HTTP adapter producers
# config/packages/
framework:
message:
routing:
'App\Message\Send3rdPartyNotification': message_http_adapter.producer.requestbin