Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Crossbar Http Publisher Bundle

Crossbar Http Publisher Bundle Laravel Package

facile-it/crossbar-http-publisher-bundle

Symfony bundle for publishing WAMP events to a Crossbar router over HTTP, letting PHP apps push real-time messages without maintaining a persistent WebSocket connection. Configure the publisher through Symfony services and start broadcasting quickly.

View on GitHub
Deep Wiki
Context7

A Symfony bundle for publishing messages to a Crossbar.io router over HTTP. It provides straightforward service integration and configuration, making it easy to send events from Laravel/PHP? No—Symfony applications to WAMP-based systems without a persistent WebSocket connection.

  • Configurable Crossbar HTTP publisher endpoint
  • Symfony DI service integration
  • Simple message/event publishing API
  • Lightweight HTTP-based transport
  • Fits event-driven and real-time application architectures
Frequently asked questions about Crossbar Http Publisher Bundle
Can I install facile-it/crossbar-http-publisher-bundle in a Laravel app?
No. It is a Symfony bundle with a Bundle class, a DependencyInjection extension, and a Configuration tree that Laravel's container does not execute. There is no service provider, facade, or publishable config, so composer require will not wire it into Laravel. Treat it as a reference implementation and reimplement the HTTP publish call natively.
Is this a Laravel package or a Symfony bundle?
It is a Symfony bundle. It ships Symfony-specific dependency injection and configuration, and has no Laravel-tagged release. Its architecture targets Symfony's container lifecycle, not Laravel's, so the bundle class and extension are inert in a Laravel app.
How do I publish WAMP events to a Crossbar router from Laravel?
Use Laravel's HTTP client to POST to the Crossbar HTTP Publisher endpoint with the topic, args, and kwargs, and sign the request with the publisher key and secret. Wrap it behind an interface like CrossbarPublisher and queue the call so request cycles are not blocked. The bundle's logic is roughly 80 to 150 lines to reproduce idiomatically in Laravel.
What does Crossbar HTTP Publisher authentication require?
Crossbar's HTTP Publisher uses a publisher public key and secret, with the request signed using HMAC per Crossbar's auth contract. You must register the publisher on the router before the first publish succeeds. Keep signing isolated in a small RequestSigner class so it is unit-testable and credential rotation is manageable.
Does this package guarantee delivery of PubSub messages?
No. The HTTP Publisher is fire-and-forget: it does not acknowledge subscriber delivery and provides no durable queue. If you need guaranteed delivery, you need a different design, such as a queue plus retries or a broker with acknowledgements. Best-effort fan-out is much cheaper and is usually acceptable for real-time UI events.
What is the difference between args and kwargs in WAMP publishing?
In WAMP, args is a positional array and kwargs is an associative array of named arguments delivered to subscribers. The bundle takes a topic plus args and kwargs, serializes them, and posts them to the router. Your Laravel adapter should keep the same publish(string $topic, array $args = [], array $kwargs = []) signature to stay protocol-faithful.
Is facile-it/crossbar-http-publisher-bundle actively maintained?
It has a recent release dated 2025-03-12, but activity is low, with roughly 10 stars and no dependents. That is reassuring for stability but not the same as active maintenance. Given the small protocol surface, reimplementation risk is low and bounded.
What are alternatives to Crossbar for Laravel real-time messaging?
Consider Redis Pub/Sub, SNS, or Laravel's own broadcasting via Reverb or Pusher. The right choice depends on whether subscribers are internal Laravel services or external third parties, and whether you need acknowledgements. Crossbar is niche, so replacing the router later makes the adapter throwaway.
Do I need a Crossbar router running to use this bundle?
Yes. The bundle only publishes to an existing Crossbar router with the HTTP Publisher transport enabled. Without that router and a registered publisher, the package is moot. Confirm router ownership and the publisher credential lifecycle before committing.
How should I test Crossbar HTTP publishing in Laravel?
Bind a fake CrossbarPublisher in the container and assert the topic, args, and kwargs in feature tests. Unit-test the RequestSigner separately against known Crossbar signing vectors, and use Http::fake() to assert the outgoing POST. Keep the publisher behind an interface so tests never hit the real router.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings